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中文本框了

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

转载于:https://www.cnblogs.com/pfs1314/archive/2011/09/14/2176151.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值