将值传递给Windows窗体中的用户控件

时间:2014-07-22 17:24:52

标签: c#

我有一个在Windows窗体环境中需要值的用户控件,

  1. 如果我直接添加用户控件,我可以在用户控件中看到公共变量。
  2. 如果我以编程方式添加用户控件,则无法在用户控件中看到公共变量。
  3. 任何人都可以帮助我#2?

    Code:
    User Control :
    public partial class uctest : UserControl
        {
            public DataTable dt1;
            public int ID;
                   public ucTest()
            {
                InitializeComponent();
            }
         }
    //////////////////////////////////////////////
    Form :
    
    public UserControl ucTest1  =new UC.ucTest();
    
    Add User control into tapcontrol:
     tabTest.Controls.Add(this.ucTest1);
    
     string ID1 = ucTest1.ID; // here is the problem.
    

1 个答案:

答案 0 :(得分:0)

为了查看公共变量,您必须首先创建该类的对象。如果您不想创建新对象,则只需将静态选项添加到公共变量即可。

例如:

public class TestClass
{
    public string testVar = "I can see you!";

    public TestClass() {}
}

private class MyForm
{
    TestClass tc = new TestClass();
    MessageBox.Show(tc.testVar);
}

OR

您可以在公共变量上使用静态选项

public class TestClass
{
    public static string testVar = "I can see you!";

    public TestClass() {}
}

private class MyForm
{
    MessageBox.Show(TestClass.testVar);
}