Я не слишком уверен, что именно то, что вы просите, но это звучит, как вы пытаетесь передать некоторые данные между формами.
В Form2, вы может добавить общественную собственность, которая читает этикетку
public string TheOperator {
get { return lblOperator.Text; }
}
Тогда из Form1, вы можете создать новый экземпляр form2, а затем ссылаться на Prope когда необходимо.
Form2 fm = new Form2();
fm.Show();
string theOp = fm.TheOperator;
//////////
В ответ на ваши изменения: Вы можете добавить это к Form1, обнажая переменную оператора есть:
public string MyOperator {
get { return lblOperator.Text; }
set {
lblOperator.text = value;
//You can perform any updates to
//your calculations here, or call
//another method to do so
}
}
private void OpenForm2()
{
Form2 frm2 = new Form2(this);
frm2.Show();
}
Тогда внутри формы Form2, вы передаете ссылку на форму 1, чтобы вы могли получить доступ к общественному имуществу:
private Form1 frm;
public New(Form1 _frm)
{
frm = _frm;
}
private void UpdateOperator()
{
//call this method, calculating your operator and then
//set the operator on the first form (variable frm) to
//What you need it to do
frm.MyOperator = lblOperator.Text;
}
Спасибо, рад, что сработало! но есть проблема, это showDialog, поэтому каждый раз, когда я нажимаю кнопку, он продолжает открываться. -Во всяком случае, спасибо большое! :) –
Вы можете использовать метод Show(), если хотите, но будьте обеспокоены тем, что метод Show() вызывает: 1- Form1 не будет ждать ответа пользователя. 2- Пользователь может вернуться в Form1 без закрытой формы2. – MoHaKa