zoukankan      html  css  js  c++  java
  • Winform用户控件传值

    用户控件传值其实有很多种方法,但我个人比较习惯用Property方式

    下面看一个场景:

    在一个Form中有一个TAB控件,TAB的两个item中分别放两个用户控件UC1,UC2,

    现在的需求是需要把UC1中一个控件的值赋给UC2中的一个控件。

    如果UC1中是Label控件,就可以直接在UC2中赋值了:

    Dim uc1 As UserControl1 = New UserControl1
    Me.TextBox1.Text = uc1.Label1.Text

    但是如果是TextBox等控件就有些不一样了,需要用别的方式实现,我这里用的是Property:

    先在UC2中定义这个属性:

    Private _testValue As String = String.Empty

    Public Property TestValue As String
    Get
    Return _testvalue
    End Get
    Set(ByVal value As String)
    _testvalue
    = value
    End Set
    End Property

    VB 10.0 or latter可以直接这样写:

    Property TestValue As String

    然后在Form中:

    Private Sub TabControl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged
    Me.UserControl21.TestValue = Me.UserControl11.TextBox1.Text
    End Sub

    最后在UC2中:

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    If CheckBox1.Checked Then
    Me.TextBox1.Text = TestValue
    Else
    Me.TextBox1.Text = String.Empty
    End If
    End Sub

    结果:这样当选中UC2的中的复选框时就把UC1中文本框的值赋给UC2中文本框了

    当然,这只是其中一种思路,还可以尝试其他思路,比如委托等。

  • 相关阅读:
    java-泛型及上界下界详解
    【CSDN】Spring+Spring MVC+Mybatis实战项目之云笔记项目
    mybatis
    spring笔记-spring mvc表单
    spring笔记-第一个spring mvc 项目
    巡风源码阅读与分析---AddPlugin()方法
    巡风源码阅读与分析---view.py
    BUGKUctf-web-writeup
    陕西省网络空间安全技术大赛部分题目writeup
    “百度杯”CTF比赛(二月场)-web-writeup
  • 原文地址:https://www.cnblogs.com/pfs1314/p/2176151.html
Copyright © 2011-2022 走看看