0

我有一个SplitContainer,在它的右侧面板中我有一个Form. TextBoxes当我单击表单外部但在面板内部的按钮时,我想检索表单的值。怎么做?

4

3 回答 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;
        }
    }

那么,我们到底在做什么呢?

  1. 我们从Form1.cs调用Form2.cs中的公共属性“TextBox1” 。
  2. Form2.cs中的Public属性TextBox1Form2.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 回答