使用 Application.Run() 时应用程序在任务栏中不可见

发布于 2024-11-27 20:27:40 字数 360 浏览 0 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

浮萍、无处依 2024-12-04 20:27:41

在 .NET Framework 4.6.1 中,切换:

this.ShowInTaskBar = false;
this.ShowInTaskBar = true;

会导致触发 FormClosing 事件。

Shown 事件中调用 this.Activate() 工作正常。

就我而言,它是非模态表单,调用 ShowDialog() 来显示,但创建和显示表单的请求是从管道发送的。当用户单击主窗体执行时,一切正常,窗体显示并出现在任务栏上。

With .NET Framework 4.6.1, toggling:

this.ShowInTaskBar = false;
this.ShowInTaskBar = true;

causes FormClosing event being fired.

Calling this.Activate() in Shown 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.

野稚 2024-12-04 20:27:41

在表单加载期间,您不能将空字符串设置为窗口标题。
这就是今天发生在我身上的事情(我的窗口标题是从丢失的文件中检索到的,因此窗口从任务栏中消失了)。

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).

护你周全 2024-12-04 20:27:40

使用以下两行在 form load 事件中切换 ShowInTaskbar

This.ShowInTaskbar = False
This.ShowInTaskbar = True

它对我有用。

Toggle ShowInTaskbar in your form load event with these two lines:

This.ShowInTaskbar = False
This.ShowInTaskbar = True

It worked for me.

栀子花开つ 2024-12-04 20:27:40

在Form_Shown事件中添加Activate()。

Add Activate() in Form_Shown event.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文