У меня есть форма, которая отлично работает сама по себе, но я хочу добавить ее в родительскую форму mdi
.Всплывающее окно дает ошибку на форме mdi в C#
Проблема в том, что у меня есть небольшая форма, которая появляется, запрашивает информацию, а затем передает информацию в исходную форму.
Я использую это всплывал форму:
Form2 fm = new Form2();
if (fm.ShowDialog(this) == DialogResult.OK)
{
//do stuff
}
Я получаю сообщение об ошибке на первой линии form2
(всплывающее форма):
Form1 fm2 = (Form1)this.Owner;
fm2.lbText = this.textBox1.Text;
Опять же, это все работает отлично если form1
- отдельная форма; но если я делаю это дочерней формой, я получаю эту ошибку, когда я нажимаю OK на form2
, чтобы вернуться к form1
.
Сообщение = Невозможно наложить объект типа «Partsbuddy2._0.Menu» на тип «Partsbuddy2._0.Form1».
Я бы не стал 'form2' ответственен за изменение пользовательского интерфейса в' form1'. Имейте 'form1' экземпляр' form2', как и вы, тогда, если результатом является DialogResult.OK, просто используйте 'form1', чтобы он использовал то, что ему нужно, из экземпляра' form2', прежде чем удалять его. Если вам нужно что-то из 'form2', создайте для него общедоступное свойство (с помощью getter/setter) и укажите, что из' form1'. –