c#winform控制访问修饰符

时间:2010-12-13 15:02:45

标签: c# winforms

我正在以编程方式向winform添加一个按钮,并希望它是公开的。我看不到以编程方式设置此选项的任何选项。

有人知道吗?

由于

3 个答案:

答案 0 :(得分:2)

如果您将问题添加到表单中,则需要自己公开

public class MyForm : Form
{
  public MyForm()
  {
    InitializeComponenents();

    MyButton = new Button { Text = "GO" } ;
    this.Controls.Add(MyButton);
  }

  public Button MyButton { get; private set; }
}

答案 1 :(得分:0)

您似乎对向表单添加按钮和向类添加成员感到困惑。或者也许只是没有明确地问这个问题。

如果通过“以编程方式向winform添加按钮”,则表示您的Form代码具有以下内容:

var b = new Button();
this.Controls.Add(b);

然后没有使它成为public,因为新按钮不是表单类的成员。

无论如何,不​​建议将按钮公开为Form的公共属性,因为这会破坏Form的抽象并暴露内部实现。最好通过属性和方法公开所需的功能,但避免将按钮本身公开。

答案 2 :(得分:0)

做这样的事情:

public class myOwnForm : Form
{
  public Button myOwnButton;
  public myOwnForm()
  {
    InitializeComponent();
    myOwnButton = new Button();
    myOwnButton.Text = "Click Me!";
    myOwnButton.Size = new Size(50,50);
    myOwnButton.Location = new Point(100,100);
    Controls.Add(myOwnButton);
  }
}
相关问题