【发布时间】:2011-09-27 12:29:20
【问题描述】:
我有一个SplitContainer,在它的右侧面板中我有一个Form。当我单击表单外部但面板内部的按钮时,我想检索表单的TextBoxes 的值。怎么做?
【问题讨论】:
标签: c# .net winforms user-controls splitcontainer
我有一个SplitContainer,在它的右侧面板中我有一个Form。当我单击表单外部但面板内部的按钮时,我想检索表单的TextBoxes 的值。怎么做?
【问题讨论】:
标签: c# .net winforms user-controls splitcontainer
您可能在 SplitContainer 的右侧面板中有一个 UserControl。
在你的那个 userControl 类中编写一个公共方法来获取值。
public string GetValueOfTheTextBox()
{
return textBox.Text;
}
将 userControl 添加到 SplitContainer。
MyUserControl myUserControl = new MyUserControl();
//Add this to the splitContainer right panel.
您可以从 MyUserControl 类的外部调用 GetValueOfTheTextBox 方法。
string text = myUserControl.GetValueOfTheTextBox();
【讨论】:
您需要引用其他表单。假设您有 Form1 和 Form2。 Form2 上面有所有的文本框。
// Create an instance of Form2 (the form containing the textBox controls).
Form2 frm2 = new Form2();
// Make a call to the public property which will return the textBox's text.
textBox1.Text = frm2.TextBox1;
1.制作一个textBox控件并将其命名为'textBox1'。
2.创建一个将返回 textBox1 引用的公共属性。
public string TextBox1
{
get
{
return textBox1.Text;
}
}
TextBox1 从 Form2.textBox1 控件返回文本 - 这是您想要的控件的文字。【讨论】:
如果 Form2 是面板内的表单/用户控件,则创建 public properties 以“获取”每个文本框的值,然后在父表单 (Form1) 中引用这些属性。
例如,如果 Form2 有名字和姓氏的文本框,则创建属性以获取它们的值:
public string FirstName
{
get { return txtFirstName.Text; }
}
public string LastName
{
get { return txtLastName.Text; }
}
那么在Form1中,假设form2是你插入到面板中的Form2的实例,你可以像这样引用那些属性:
string firstName = form2.FirstName;
string lastName = form2.LastName;
【讨论】: