日期:2014-05-19  浏览次数:20732 次

无法隐藏的窗体
程序只有一个简单的隐藏的窗体,实际上只是想在状态栏出现一个图标。

经过搜索,发现.Net板块没有一个真正的解决方案能够实现窗体加载的同时隐藏它。这在其他语言里是很不可思议的一件事情——虽然我知道这和.Net生存周期有关。

网络提供的方法,一般都是说hide——实际上是不生效的,唯一生效的就是变通的将状态设置为最小化(隐藏任务栏),但是这样子可以用Alt+Tab切换出来隐藏的窗体。

难道.Net就没有不使用变通的模式来直接加载隐藏的窗体?



------解决方案--------------------
Application.Run(ApplicationContext context)
Application.Run()

------解决方案--------------------
Main(...){
Form hiddenform = new Form();
Application.Run();
}
------解决方案--------------------
尝试一下下面的方法
[STAThread]
static void Main()
{
MyFormMain frmMain = new MyFormMain();//主窗体
MyFormLogin frmLogin = new MyFormLogin();//登录窗体或其它窗体
if(frmLogin.ShowDialog()==DialogReault.OK)
{
//参数处理.......
frmMain.ShowDialog();
//或者是Application.Rum(frmMain);
}
}
------解决方案--------------------
比如隐藏的窗体叫formhide.想要调用他用formhide.show应该可以吧.
------解决方案--------------------
在设计时,设置窗体的ShowInTaskbar为false,Visible为false,
设置NotifyIcon的Visible为true
或是在Form的Load事件中,加上代码
this.ShowInTaskbar = false;
this.Hide();
this.NotifyIcon1.Visible = true;