2013-06-13 1 views
-1

привет, у меня есть приложение mdi. в котором у меня есть mdiparent, который является формой меню. Теперь у меня есть форма заявки. Теперь, когда все деатили были заполнены, есть диалоговое окно, в котором говорится, что детали заполняются успешно. по щелчку Ok в message box, я должен вернуться к menu page, а также закрыть форму заявки. Но форма заявки не закрывается. все еще остается в фоновом режиме. вот код:Закрытие формы MdiChild

private void btnsave_Click_1(object sender, EventArgs e) 
{ 
DialogResult dialogResult = MessageBox.Show("record saved", "requisition", MessageBoxButtons.OK, MessageBoxIcon.Information); 
      if (dialogResult == DialogResult.OK) 
      { 

       frmmain main = new frmmain(); 
       main.Show(); 

       frmrequisition requisition = new frmrequisition(); 
       requisition.Close(); 
      } 

      else 
      { 
       MessageBox.Show("error", "requisition", MessageBoxButtons.OK, MessageBoxIcon.Error); 

       } 

} 
+0

'frmrequisition requisition = new frmrequisition(); requisition.Close(); 'что это? ... – Phantom

ответ

0

Вы создаете новый экземпляр формы реквизиции, и называя закрытым способом по этому примеру:

frmrequisition requisition = new frmrequisition(); 
requisition.Close(); 

Вы должны закрыть заявку, которая отображается. Вы пробовали this.Close(), считая, что обработчик событий является частью формы заявки?

+0

yea this.close() работал. но когда я вызываю frmmain main = new frmmain(); main.Show(); что происходит, снова возникает еще один случай, когда frmmain формируется. поэтому создаются две основные формы. Старый 1 и новый 1. Как я могу избавиться от этого. – Kaushik27

+0

Взгляните на 'this.MdiParent'. Это должна быть родительская форма. Если он не установлен, то не забудьте установить его при открытии «формы заявки» из основной формы. –

+0

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

0

Ваше создание нового объекта и закрытия этого. вам нужно иметь ссылку на ваш frmrequisition, который в настоящее время отображается.

+0

да, тот же экземпляр, на который я ссылаюсь. Смотрите, если я создаю новый объект, тогда он говорит, что реквизиция не существует. Я создал объект frmrequisition в основной форме. – Kaushik27

 Смежные вопросы

  • Нет связанных вопросов^_^