C# 中如何实现menuStrip菜单栏中ToolStripMenuItem勿点击多次
在一个form出现时,不允许第二个form出现。只有在关闭第一个form,才可以点击显示第二个form。...
在一个form出现时,不允许第二个form出现。只有在关闭第一个form,才可以点击显示第二个form。
展开
3个回答
展开全部
/// <summary>
/// 防止子窗体再度打开
/// </summary>
/// <param name="p_ChildrenFormText"></param>
/// <param name="MdiParentForm"></param>
/// <returns></returns>
private static bool ShowChildForm(string p_ChildrenFormText, Form MdiParentForm)
{
int i;
//依次检测当前窗体的子窗体
for (i = 0; i < MdiParentForm.MdiChildren.Length; i++)
{
//判断当前子窗体的Text属性值是否与传入的字符串值相同
if (MdiParentForm.MdiChildren[i].Text == p_ChildrenFormText)
{
//如果值相同则表示此子窗体为想要调用的子窗体,激活此子窗体并返回true值
MdiParentForm.MdiChildren[i].Activate();
return true;
}
}
//如果没有相同的值则表示要调用的子窗体还没有被打开,返回false值
return false;
}
//调用
if (!ShowChildForm(myForm.Text, this))
{
myForm.MdiParent = this;
myForm.WindowState = FormWindowState.Maximized;
myForm.Show();
}
else
{
myForm.Activate();
}
/// 防止子窗体再度打开
/// </summary>
/// <param name="p_ChildrenFormText"></param>
/// <param name="MdiParentForm"></param>
/// <returns></returns>
private static bool ShowChildForm(string p_ChildrenFormText, Form MdiParentForm)
{
int i;
//依次检测当前窗体的子窗体
for (i = 0; i < MdiParentForm.MdiChildren.Length; i++)
{
//判断当前子窗体的Text属性值是否与传入的字符串值相同
if (MdiParentForm.MdiChildren[i].Text == p_ChildrenFormText)
{
//如果值相同则表示此子窗体为想要调用的子窗体,激活此子窗体并返回true值
MdiParentForm.MdiChildren[i].Activate();
return true;
}
}
//如果没有相同的值则表示要调用的子窗体还没有被打开,返回false值
return false;
}
//调用
if (!ShowChildForm(myForm.Text, this))
{
myForm.MdiParent = this;
myForm.WindowState = FormWindowState.Maximized;
myForm.Show();
}
else
{
myForm.Activate();
}
展开全部
在show窗体的时候先检查一下该窗体的实例化对象是否为空,空的话再显示,不然就是已经打开了一个窗体,这样就不让他显示了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询