【问题标题】:Transfer value of Form to Usercontrol将 Form 的值传递给 Usercontrol
【发布时间】:2013-05-31 16:04:54
【问题描述】:

我创建了一个用户控件并向其中添加了一个文本框。在我的 Windows 窗体中,我添加了我创建的用户控件并添加了一个文本框和一个按钮。如何将我输入的文本从 Form 的文本框复制到 Usercontrol 的文本框,反之亦然。就像是 用户控件.textBox1.text = textBox1.text

【问题讨论】:

    标签: c# winforms user-controls


    【解决方案1】:

    您可以在您的用户控件代码中添加一个公共属性,该属性委托给 TextBox 的 Text 属性:

    public string MyTxtBoxValue { get { return this.txtBox.Text; } }
    

    当然,如果需要,你也可以有一个 setter。

    但是,您不想做的是将整个TextBox 公开。这是有缺陷的。

    【讨论】:

      【解决方案2】:

      从表单到用户控件

      Form Code
      public string ID
      {
          get { return textBox1.Text; }
      }
      
      private void textBox1_TextChanged(object sender, EventArgs e)
      {
          userControl11.ID = ID;
      }
      
      Usercontrol Code
      public string ID
      {
          set { textBox1.Text = value; }
      }
      

      【讨论】:

        【解决方案3】:

        有多种方法可以访问您的用户控件文本框数据。实现此目的的一种方法是将用户控件上的文本框暴露在可以通过加载它的表单访问的范围内。另一种方法是在用户控件的按钮单击时引发事件并在父窗体上订阅它。

        【讨论】:

          【解决方案4】:

          虽然在创建自定义用户控件时会继承一些东西,但在大多数情况下,您必须定义自己的属性。 (如文本值等)

          我会看看这个: http://msdn.microsoft.com/en-us/library/6hws6h2t.aspx 祝你好运!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-07-07
            • 1970-01-01
            • 2021-01-16
            • 1970-01-01
            • 2021-06-08
            • 2016-11-27
            • 1970-01-01
            • 2022-08-12
            相关资源
            最近更新 更多