Как в Windows Forms организовать ввод данных из нового окна? При этом, нужно, чтобы введенные данные после нажатия кнопки, допустим "ОК", выводились в label Form1
Никак не пойму, окно просто закрывается, не передавая при этом данных...
Допустим у нас есть форма. На ней поле ввода и кнопка. При нажатии кнопки устанавливается результат формы и закрывается форма.
public class Form2 : Form
{
TextBox tb;
public Form2()
{
this.Width = 300;
this.Height = 200;
tb = new TextBox();
this.Controls.Add(tb);
var bt = new Button() {Text = "OK", Left = 100};
this.Controls.Add(bt);
bt.Click += (sender, args) => {
this.DialogResult = DialogResult.OK;
this.Close();
};
}
public string GetText()=>tb.Text;
}
Теперь как эту форму можно использовать
public class Form1 : Form
{
Label label;
public Form1()
{
this.Width = 300;
this.Height = 200;
label = new Label() { Text = "Label text" };
this.Controls.Add(label);
var button = new Button() { Text = "press me", Top = 30 };
this.Controls.Add(button);
button.Click += Click;
}
private void Click(object sender, EventArgs e)
{
var f2 = new Form2();
var ret = f2.ShowDialog();
if (ret == DialogResult.OK)
{
label.Text = f2.GetText();
}
}
}
Результат:
Просто замените textbox на label:
В классе Form2 определяем свойство (или метод)
public string Data
{
get
{
return textBox1.Text;
}
}
В любом месте Form1
Form2 f = new Form2();
f.ShowDialog();
this.textBox1.Text = f.Data;
+ Противоречит не всем основам ООП
- Минусы те же
Источник: http://www.cyberforum.ru/windows-forms/thread110436.html#a_Q2
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Появилась необходимость переносной проги, без использования Managment StudioВроде как создал локальную бд с типом
Есть проблема с графическим отображением сети ПетриЕсть ли какая-нибудь открытая библиотека, которая может решить данную проблему(интересует...
Обновил базу данных на сервере таким образом, удалил старую и сделал импорт новой из локального сервераТеперь при входе в backend, после ввода...