我有一个SplitContainer
,在它的右侧面板中我有一个Form
. TextBoxes
当我单击表单外部但在面板内部的按钮时,我想检索表单的值。怎么做?
问问题
1226 次
3 回答
3
可能是您在 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();
于 2011-09-27T12:44:13.123 回答
2
您需要参考其他表格。假设您有 Form1 和 Form2。Form2 上有所有的文本框。
Form1.cs - Button1_Click():
// 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;
Form2.cs:
1.制作一个文本框控件并将其命名为'textBox1'。
2.创建一个将返回 textBox1 引用的公共属性。
public string TextBox1
{
get
{
return textBox1.Text;
}
}
那么,我们到底在做什么呢?
- 我们从Form1.cs调用Form2.cs中的公共属性“TextBox1” 。
- Form2.cs中的Public属性
TextBox1
从Form2.textBox1控件返回文本- 这是您想要文本的控件。
于 2011-09-27T12:33:05.043 回答
1
如果 Form2 是面板内的表单/用户控件,则创建公共属性以“获取”每个文本框的值,然后在父表单 (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;
于 2011-09-27T12:41:29.347 回答