[英]how to swap the visibility of applications using c#
我有一个父窗体,它将有两个选项卡分别调用两个子窗体。 我做了这个usind MDI。
例如,假设我有两个选项卡,分别名为“计算器”和“记事本”。 我的意思是说选项卡的名称是Windows中运行的进程名称。
我的父窗体的行为就像是全屏显示,并且用户只能使用Windows任务栏。
现在,当用户单击“计算器”选项卡时,我将应用程序置于父窗口顶部。 然后,如果用户单击“记事本”,那么我想将记事本放在前面,并将所有应用程序放在父窗体的后面。 更清楚地说,在单击带有进程名称的各个选项卡时,只能查看一个应用程序。
听起来很乏味!
请帮忙...
重写TabControl的TabIndexChanged事件,并确定当前哪个标签页处于活动状态。 然后,根据活动的选项卡页面,使用ProcessInfo实例加载要运行的应用程序:
这是使您前进的代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
tabControl1.SelectedIndexChanged += new EventHandler(tabControl1_SelectedIndexChanged);
}
void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
ProcessStartInfo psi = null;
if (tabControl1.SelectedTab == tabPage1)
{
psi = new ProcessStartInfo("notepad.exe");
}
else if (tabControl1.SelectedTab == tabPage2)
{
psi = new ProcessStartInfo("calc.exe");
}
if (psi != null)
{
psi.ErrorDialog = true;
psi.ErrorDialogParentHandle = Handle;
Process.Start(psi);
}
}
}
在Google搜索中,您似乎可以使用P / Invoke以编程方式最小化/最大化应用程序。 这可能是一个开始。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.