windows 表单应用程序中两个用户控件之间的交互
Interaction between two user controls in windows form application
我创建了两个名为 UserControl1
和 UserControl2
的用户控件,UserControl1
包含 TextBox1
,UserControl2
包含 Button1
。在 UserControl2
中,我想在单击 Button1
时从 UserControl1
获取 TextBox1.Text
。
这是相关代码:
在 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
}
}
我该怎么办?
一个选项是将 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;
}
}
在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;
我创建了两个名为 UserControl1
和 UserControl2
的用户控件,UserControl1
包含 TextBox1
,UserControl2
包含 Button1
。在 UserControl2
中,我想在单击 Button1
时从 UserControl1
获取 TextBox1.Text
。
这是相关代码:
在 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
}
}
我该怎么办?
一个选项是将 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;
}
}
在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;