2012-04-30 2 views
0

У меня есть winform с кнопкой, которую пользователь нажимает, когда хочет сгенерировать определенный отчет. Когда эта кнопка нажата, открывается другая winform. Вторая winform имеет текстовое поле и кнопку, чтобы вернуть вас к первой winform.Должен ли я использовать событие form1_Load для отображения текстовой информации при открытии формы?

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

Для этого я бы присвоил текстовое поле соответствующему методу и поместил его в метод события Form1_Load?

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

ответ

2

Да, конечно, в событии Form_Load у вас есть доступ ко всем вашим элементам управления, которые уже инициализированы конструктором формы через InitializeComponent().
Тогда вы можете позвонить

private void Form_Load(object s, EventArgs e) 
{ 
    textBox1.Text = "your_report_title"; 
} 
+0

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

+0

@ProgrammingNewbie, если это единственное, что вам нужно сделать в этой форме, было бы приятным изменением, если вы передадите данные, которые будут отображаться в текстовом поле вне формы. – Steve

1

Да, это было бы правильное использование Form1_Load().

private void Form1_Load(object sender, EventArgs e) 
{ 
    textbox1.Text = "Whatever is supposed to go here" 
} 
+0

@ Justin Steranko - Спасибо за помощь. –

+0

Нет проблем. Я довольно новичок, как и я, поэтому я стараюсь ответить на эти простые вопросы, которые я недавно встречал. –

1

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

public Form2(string text) 
{ 
    InitializeComponent(); 

    textBox1.Text = text; 
} 

Затем просто откройте форму с помощью

Form2 form2 = new Form2("text that should be displayed"); 
form2.Show();