日期:2014-05-18  浏览次数:21085 次

菜鸟求助:如何在c#中在弹出的对话框不关闭的情况下运行主窗体?
问题如下:

form_1为主窗体,在form_1中点击button1时弹出对话框"Dialogue",程序如下:


private void button1_Click(object sender, EventArgs e)
{
  form_2 Dialogue = new form_2();
  Dialogue.ShowDialog();
  Dialogue.Dispose(); 
}

执行程序后,点击button1时弹出对话框Dialogue,但是如果Dialogue不关闭,那么就无法继续运行主窗体,请问应该如何修改,能使Dialogue最小化之后能继续运行主窗体?

跪求解答!

------解决方案--------------------
static Dialogueform = null;

public static DialogueGetInstance()
{
if (form == null || form.IsDisposed)
{
form = new Dialogue();
}
return form;
}

private void button1_Click(object sender, EventArgs e)
{
form_2 Dialogue =form_2.GetInstance();
Dialogue.ShowDialog();
}
------解决方案--------------------
如果是每次点击的时候把之前已存在的Dialogue关掉,那就把this.OwnedForms里面的所有窗体都调一次Close。如果是只允许出现一个,那就把Dialogue作为类变量,方法跟4L的差不多,全局Dialogueform应该叫form,Click事件中form_2 Dialogue =form_2.GetInstance();之后Dialogue.Show(this)