使用 Application.Run() 时应用程序在任务栏中不可见
我正在使用 C#.Net 创建一个 Windows 应用程序。使用以下代码启动应用程序时显示一个表单:
Form myForm = new MyForm();
Application.Run(myForm);
应用程序未出现在任务栏中,但我知道它正在运行,因为我可以使用 Alt-TAB 导航到应用程序窗口。
如果我使用 myForm.ShowDialog(),应用程序在任务栏中可见。
我在这里缺少什么?
更新:表单的 ShowInTaskbar 属性设置为 true。 UPDATE2:FormBorderStyle
设置为 None
I am creating a windows application using C#.Net. I am showing a form when starting an application using below code :
Form myForm = new MyForm();
Application.Run(myForm);
Application is not appearing in taskbar, but I know its running since I can navigate to the application window using Alt-TAB.
If I use myForm.ShowDialog()
, application is visible in taskbar.
What am I missing here?
UPDATE: ShowInTaskbar
property is set to true for the form.
UPDATE2: FormBorderStyle
is set to None
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 .NET Framework 4.6.1 中,切换:
会导致触发
FormClosing
事件。在
Shown
事件中调用this.Activate()
工作正常。就我而言,它是非模态表单,调用 ShowDialog() 来显示,但创建和显示表单的请求是从管道发送的。当用户单击主窗体执行时,一切正常,窗体显示并出现在任务栏上。
With .NET Framework 4.6.1, toggling:
causes
FormClosing
event being fired.Calling
this.Activate()
inShown
event works properly.In my case it was nonmodal form, called to be shown with
ShowDialog()
, but the request to create and show the form was sent from pipe. When executed by user's click on main form, everything was ok, form was shown and appeared on the taskbar.在表单加载期间,您不能将空字符串设置为窗口标题。
这就是今天发生在我身上的事情(我的窗口标题是从丢失的文件中检索到的,因此窗口从任务栏中消失了)。
You may not set an empty string as windows title during Form load.
This is what happened to me today (my window title is retrieved from a file that was missing, and so the window disappeared from the taskbar).
使用以下两行在
form load
事件中切换ShowInTaskbar
:它对我有用。
Toggle
ShowInTaskbar
in yourform load
event with these two lines:It worked for me.
在Form_Shown事件中添加Activate()。
Add Activate() in Form_Shown event.