【问题标题】:I want to retrieve the sub form values我想检索子表单值
【发布时间】:2011-09-27 12:29:20
【问题描述】:

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

【问题讨论】:

    标签: c# .net winforms user-controls splitcontainer


    【解决方案1】:

    您可能在 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();
    

    【讨论】:

      【解决方案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.制作一个textBox控件并将其命名为'textBox1'。

      2.创建一个将返回 textBox1 引用的公共属性。

          public string TextBox1
          {
              get
              {
                  return textBox1.Text;
              }
          }
      

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

      1. 我们从 Form1.cs 调用 Form2.cs 中的公共属性“TextBox1”。
      2. Form2.cs 中的 Public 属性 TextBox1Form2.textBox1 控件返回文本 - 这是您想要的控件的文字。

      【讨论】:

        【解决方案3】:

        如果 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;
        

        【讨论】:

          猜你喜欢
          • 2023-01-20
          • 2021-07-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-16
          • 1970-01-01
          • 1970-01-01
          • 2018-08-19
          相关资源
          最近更新 更多