禁止mdi子窗体重复打开的问题求助。以下这个函数,是用于判断子窗体是否打开的,但是我使用时,不知道第一个参数如何传。
第二个参数是一个字符串,传入子窗体的名称就行了。但是第一个参数是 Form,我应该如何传值呢?比如说,我在父窗体的菜单中写代码,调用子窗体,我应该如何写呢?
请给句示例代码,谢谢了。
private bool HaveOpened(Form frmParent, string frmChild)
{
//查看窗口是否已经被打开
bool bReturn = true; //默认值表示需要打开
for (int i = 0; i < frmParent.MdiChildren.Length; i++)
{
if (frmParent.MdiChildren[i].Name == frmChild)
{
frmParent.MdiChildren[i].BringToFront();
bReturn = false; //表示不需要打开
break;
}
}
return bReturn;
}
第二个参数是一个字符串,传入子窗体的名称就行了。但是第一个参数是 Form,我应该如何传值呢?比如说,我在父窗体的菜单中写代码,调用子窗体,我应该如何写呢?
请给句示例代码,谢谢了。
private bool HaveOpened(Form frmParent, string frmChild)
{
//查看窗口是否已经被打开
bool bReturn = true; //默认值表示需要打开
for (int i = 0; i < frmParent.MdiChildren.Length; i++)
{
if (frmParent.MdiChildren[i].Name == frmChild)
{
frmParent.MdiChildren[i].BringToFront();
bReturn = false; //表示不需要打开
break;
}
}
return bReturn;
}
解决方案 »
- 老师留任务 用windows窗体做个简单的计算器,可以连续计算的,没有头绪,谁可以指导一下我呀
- 如何根据英文字符返回unicode编码值和根据unicode的数字编码值返回字符
- 不是说C#程序离不开.net环境,那为什么一些XP用户可以用的我的软件?
- 如何通过菜单名设置菜单属性
- WinForms程序,在我的机器上编译运行没有问题,到另一台机器上就抱错,求解决办法!!!
- 这种情况,如何只保留一个<BR>
- .net支付成功后返回验证失败responseTxt=FILLEGAL_SWITCH_SYSTEM
- 是否有。NET技术的专业视频教学网站
- 如何在VC#中打开一个新的窗体,关闭窗体以及窗体间的数据传递???????????
- 请看看为什么报错?
- 如果Button被Disable了,如何显示Tooltip
- 请问分析设计一款软件的一般流程是什么?
for (int i = 0; i < this.MdiChildren.Length; i++)
{
try
{
if ((this.MdiChildren[i] as Form).GetType().Equals(form.GetType()))
{
this.MdiChildren[i].Focus();
return;
}
}
catch (Exception)
{
}
}
form.MdiParent = this;
form.Show();这样就Ok了
就放到CSDN上让大家下载
没有就打开相反就不要打开
我是问,如何调用这个函数的话,参数如何写呢?Form frmParent 这是形参。
我想知道对应的实参如何写?
FORM2:
public static Form2 frm = new Form2();
public static void ShowForm()
{
frm.Show();
frm.Focus();
} private Form2()
{
InitializeComponent();
}FORM1:
private void Button_Click(object sender, RoutedEventArgs e)
{
Form2.ShowForm();
}