一、打开MDI子窗体,且允许重复打开
FrmMytest frmMytest = new FrmMytest()frmMytest.MdiParent = this
frmMytest.Show()&#8232
二、打开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任务栏中找不到这项,即无法让新窗体再次显示
using System.Diagnostics /旅橡/命名空间System.Diagnostics.Process.Start(@"C:\拆余旁Program Files (x86)\毁册Tencent\QQMusic\QQMusic.exe")
即 System.Diagnostics.Process.Start(@"填写软件路径")
本文介绍用C#在Winform中打开一个新进程,完成上述功能。using System.Diagnostics引用System.Diagnostics命名空间,该命名空间提供与系统进程、事件日志、性能计数器的交派迅哗互。其中与进程相关的两个基本的类是System.Diagnostics.Process和System.Diagnostics.ProcessStartInfo。1. System.Diagnostics.Procss:提供对本地和远程进程的访问并使您能够启动和停止本地系统进程(1) Start方法:启动进程,主要有如下参数设置a. Start( ProcessStartInfo )b. Start( string FileName )c. Start( string FileName, string Arguments )(2) 一些属性:a. Id:唯一进程标识号b. ProcessName:进程名称c. MachineName:进程运行所在的计算机名d. StartInfo:进程的StartInfoe. StartTime:启动进程的时间f. ExitTime:退出进程昌弊的时间g. HasExited:进程是否已经终止2. System.Diagnostics.ProcessStartInfo:与Process一起使用,为Process设置启动参数(1) 构造方法:a. ProcessStartInfo()b. ProcessStartInfo( string FileName )c. ProcessStartInfo( string FileName, string Arguments)(2) 一些属性:a. FileName:应用程序或文件名b. Arguments:参数c. WorkingDirectory:启动进程的初始目录d. CreateNoWindow:是否在尘行新窗口启动进程e. WindowStyle:指定打开窗口时的状态(枚举值)f. Verb:打开进程时需要使用的谓词;每个文件扩展名都有它自己的一组谓词;可以使用Verbs属性获取这些谓词。例如,“print”谓词将打印使用 FileName 指定的文档。可使用空字符串 ("") 指定默认谓词。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)