我创建了两个名为UserControl1
和UserControl2
的用户控件,UserControl1
包含TextBox1
,UserControl2
包含Button1
。在UserControl2
中,我想点击TextBox1.Text
时从UserControl1
获得Button1
。
这是令人敬畏的代码:
在UserControl1
:
public partial class UserControlA: UserControl
{
public UserControlA()
{
InitializeComponent();
}
public string TexBoxText
{
get
{
return this.textBox1.Text;
}
}
}
在UserControl2
:
public partial class UserControlB: UserControl
{
public UserControlB()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//here is to get textbox1.text
}
}
我该怎么办?
答案 0 :(得分:0)
一个选项是将UserControlA实例传递给UserControlB的构造函数。
public partial class UserControlB: UserControl
{
UserControlA userControlA;
public UserControlB(UserControlA ucA)
{
userControlA = ucA;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string myString = userControlA.TexBoxText;
}
}
答案 1 :(得分:0)
在UserControl1
:
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public TextBox TextBox
{
get
{
return textBox1;
}
}
}
在UserControl2
:
public partial class UserControl2 : UserControl
{
private TextBox txt = null;
public UserControl2()
{
InitializeComponent();
}
public TextBox TextBox
{
set
{
txt = value;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (txt != null)
MessageBox.Show(txt.Text);
}
}
在上述控制中'容器:
uc2.TextBox = uc1.TextBox;