C#Winform打开窗体的几种方法、注意事项的总结
来源:互联网 发布:cda数据分析师有什么用 编辑:程序博客网 时间:2024/06/08 09:09
C#Winform打开窗体的几种方法、注意事项的解决
一、打开MDI子窗体,且允许重复打开
FrmMytest frmMytest = new FrmMytest();
frmMytest.MdiParent = this;
frmMytest.Show();
二、打开MDI子窗体,但不允许重复打开;即如果窗体未打开过,则直接打开,如果打开过,原来的窗体直接显示在最上面
int index = HaveOpened(this, "FrmMytest");
if (index == -1)
{
FrmMytest frmMytest = new FrmMytest();
frmMytest.MdiParent = this;
frmMytest.Show();
}
else
{
this.MdiChildren[index].Show();
}
/// <summary>
/// 功能名称:查看MDI子窗体是否已经被打开
/// 输入参数:MdiFather,Form,需要判断的父窗体对象
/// MdiChild,string,需要判断的子窗体控件名
/// 返回结果:-1为没有被打开,正数为子窗体集的数组下标
/// </summary>
public static int HaveOpened(Form frmMdiFather, string strMdiChild)
{
int bReturn = -1;
for (int i = 0; i < frmMdiFather.MdiChildren.Length; i++)
{
if (frmMdiFather.MdiChildren[i].Name == strMdiChild)
{
frmMdiFather.MdiChildren[i].BringToFront();
bReturn = i;
break;
}
}
return bReturn;
}
三、show的方法
1、非模式窗体的打开方法
new FrmMytest().Show();
2、模式窗体的打开方法
FrmMytest frmMytest = new FrmMytest();
frmMytest.ShowDialog();
四、说明
1、需求,打开的子窗体不会在windows任务栏中显示,避免用户感觉一个系统有多个运行的问题
2、主窗体设置属性IsMdiContainer = true,MDI子窗体IsMdiContainer = false,否则系统编译时会报错。
3、show的方法,打开的子窗体不会在windows任务栏中显示的问题,需要在子窗体的属性中,将Form.ShowInTaskbar设置为false;但如果程序中加入了断点,想从程序中返回子窗体时有问题,在windows任务栏中找不到这项,即无法让新窗体再次显示,有好的解决方法吗???。
- C#Winform打开窗体的几种方法、注意事项的总结
- C#Winform打开窗体的几种方法、注意事项的总结
- 打开窗体的几种方法、注意事项的总结
- c# winform窗体之间传递参数的几种方法
- C# Winform 窗体传值的几种方法
- WinForm窗体间如何传值的几种方法
- Winform 控制同一窗体只能打开一次的方法!
- c#winform打开指定目录的方法
- 打开窗体的几种方式?
- 总结几种C#窗体间通讯的处理方法
- 总结几种C#窗体间通讯的处理方法
- Winform 窗体间传值的10种方法
- WinForm窗体间传值的方法
- WinForm窗体间传值的方法
- WinForm窗体间传值的方法
- 查找WinForm中已打开的窗体
- 无边框Winform窗体移动的几种方式
- PHP中打开URL地址的几种方法总结
- Sagan is log analysis engine
- [排序算法]关于Top-k排序(优先队列Priority Queue)
- gdb图形化调试之insight
- struts.xml 也有解析顺序吗?
- 理解Linux系统负荷
- C#Winform打开窗体的几种方法、注意事项的总结
- hdu2095
- 在对象之间搬移特性之五 :Hide Delegate(隐藏「委托关系」)
- 禁用鼠标右键
- python算法--快速排序详细实现
- linux系统下有关tomcat的几个命令
- vs开发环境设置
- CF:108A. Palindromic Times
- 普通程序员的出路在哪里?