Я приходил к одному и тому же вопросу снова и снова.Мне нужно использовать введенные пользователем значения после события кнопки, или двойного щелчка, или чего-нибудь еще.когда я делаю это с дизайнером, он автоматически передает элемент управления txt и его значение всей программе, и я могу использовать его где угодно.Но программно я не мог решить это.Вот небольшой пример:
private void Form1_Load(object sender, EventArgs e)
{
string blabla = "anything";
Button btn = new Button();
btn.Location = new Point(10, 40);
btn.Text = "Click me";
btn.Click += new EventHandler(btn_Click);
this.Controls.Add(btn);
}
void btn_Click(object sender, EventArgs e)
{
MessageBox.Show(blabla);
}
это не работает, поэтому я добавил "public", и скрипт выглядит так:
public string blabla;
private void Form1_Load(object sender, EventArgs e)
{
blabla = "anything";
Button btn = new Button();
btn.Location = new Point(10, 40);
btn.Text = "Click me";
btn.Click += new EventHandler(btn_Click);
this.Controls.Add(btn);
}
void btn_Click(object sender, EventArgs e)
{
MessageBox.Show(blabla);
}
И поэтому я могу использовать свою переменную сизменились значения.Это хорошо сочетается и с контролем.Это работает, но это делает тысячи общедоступных переменных в большем приложении.Как я могу улучшить читаемость, потеряв эти публичные?Есть ли способ использовать «ref»?Я видел это на автоматическом «методе извлечения», я просто не знаю, как я могу использовать это с событиями.
Возможно, я нахожусь на неправильном пути в этом, если есть ярлык или другое решениеПожалуйста, помогите.