Страницы

Поиск по вопросам

суббота, 22 июня 2019 г.

Почему родитель формы равен Null?

Выдержка кода из главной формы:
public partial class Main : Form { public NetComm.Host server; public NetComm.Client client; public Main() { InitializeComponent(); } private void ToolStripMIConnect_Click(object sender, EventArgs e) { ClientPref formConnect = new ClientPref(); formConnect.Owner = this; formConnect.ShowDialog(); } }
Выдержка кода из создаваемой формы:
public partial class ClientPref : Form { Main formMain; public ClientPref() { InitializeComponent(); formMain = this.Owner as Main; } private void btnConnect_Click(object sender, EventArgs e) { if (formMain != null) //следующий бок не выполняется т.к. formMain равен null { if (IsAddressValid(this.txtBoxIP.Text)) { formMain.ClientStart(Convert.ToInt32(this.txtBoxPort.Text), this.txtBoxIP.Text, "Соперник"); } else toolTipClient.Show("Введен некорректный IP-адрес.", this.txtBoxIP); }
}
Почему formMain равен null или как в итоге обратиться к методу ClientStart формы Main?


Ответ

Простой вариант - переписать вот так, сделать поле вычислимым свойством:
Main FormMain { get { return this.Owner as Main } };
Тогда в btnConnect_Click всё должно работать.

Комментариев нет:

Отправить комментарий