модификаторы контроля доступа c # winform - PullRequest
1 голос
/ 13 декабря 2010

Я добавляю кнопку в winform программно и хочу, чтобы она была общедоступной.Я не вижу никакой возможности установить это программно.

Кто-нибудь знает как?

Спасибо

Ответы [ 3 ]

2 голосов
/ 13 декабря 2010

Если вы добавляете его в форму проблемным образом, вам нужно выставить его самостоятельно

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

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

  public Button MyButton { get; private set; }
}
0 голосов
/ 13 декабря 2010

Сделайте что-то вроде этого:

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);
  }
}
0 голосов
/ 13 декабря 2010

Похоже, вы запутались между добавлением кнопки в форму и добавлением члена в класс. Или, может быть, просто не задали вопрос достаточно ясно.

Если "программно добавляя кнопку к winform", вы имели в виду Form с кодом, который выполняет что-то вроде:

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

тогда нет такой вещи, как создание public, потому что новая кнопка не является членом вашего класса формы.

В любом случае, не рекомендуется представлять кнопки как общедоступные свойства формы, поскольку это нарушает абстракцию формы и предоставляет внутреннюю реализацию. Лучше предоставить необходимую функциональность через свойства и методы, но избегайте делать саму кнопку общедоступной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...