首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

初学者怎么在c#中在弹出的对话框不关闭的情况下运行主窗体

2012-06-10 
菜鸟求助:如何在c#中在弹出的对话框不关闭的情况下运行主窗体?问题如下:form_1为主窗体,在form_1中点击but

菜鸟求助:如何在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)

热点排行