- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我有主窗体和子窗体。我想将子窗体的 ShowIntaskBar
设置为 false,但问题是当我通过菜单打开它时,它会快速出现和消失,然后当我再次打开它时,它会变得可见。所以我不想打开它两次才能看到它。如何解决这个问题?
子表单代码:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ShowInTaskbar = False
End Sub
父(主)表单代码:
Private Sub إضافةبائعجديدToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles إضافةبائعجديدToolStripMenuItem.Click
Form1.ShowDialog()
End Sub
最佳答案
这是 Winforms 中的错误。 ShowInTaskbar 属性是一个非常重要的属性,它只能在创建 native 窗口时指定。在引擎盖下,它是传递给 CreateWindowEx() 的样式标志。 winapi 函数,必须在第一个参数中使用 WS_EX_APPWINDOW 样式才能显示任务栏按钮。
问题是,在 Load 事件触发时,该调用已经发出。触发 Load 事件的是 CreateWindowEx() 调用。所以 Winforms 必须做一些非常重要的事情,它必须销毁 native 窗口并重新创建它,现在为第一个参数使用不同的值。这通常工作得很好,但有时会出错。在您的情况下,它与 ShowDialog() 调用的交互非常差。这确保当对话框窗口关闭或隐藏时对话框自动关闭。它已关闭,作为您的 ShowInTaskbar 分配的副作用。但当然是出于错误的原因。
您必须确保在 Load 事件触发之前设置该属性。您可以使用窗体的构造函数来完成此操作。修复:
Public Sub New()
InitializeComponent()
Me.ShowInTaskbar = False
End Sub
或者在设计窗体时在“属性”窗口中设置属性即可。
关于.net - 当 ShowinTaskBar 为 false 时,窗口消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20442965/
应用程序是为 .NET 2.0 编译的(如果相关)。最初表单是使用 ShowInTaskbar=false 创建的,它不会出现在任务栏中,一切都很酷。但是,当某些操作(在表单上拖动文件并开始文件上传)
我在 WPF 中有一个模式窗口,对于此窗口,ShowInTaskbar 设置为 true,但对于此模型窗口,应用程序图标不会每次都显示在任务栏中。有时图标会出现在任务栏中,有时不会。但要求是当此模态窗
我不是要举办事件。我在问如何询问(使用 C#,而不是 WinAPI)“窗口是否已最小化?”。 WindowState 不够好。当 ShowInTaskbar="False" 时,在 Win+D 后这将
当应用程序的主要 Form - 传递给 Application.Run() 的那个 - 有 this.ShowInTaskBar = false; 然后,表示该应用程序的 Process 实例具有 0
我创建了一个具有以下属性的自定义分层 WPF 窗口: AllowsTransparency = True ShowInTaskbar = 假 背景 = 透明 最顶层 = 正确 Icon = "Icon
我们只想在任何时候运行我们应用程序的一个实例。因此在启动时它会查看应用程序是否正在运行,如果正在运行,它会在主窗口上调用 SetForegroundWindow。 这一切都很好......大部分...
我在基于 PRISM 的 WPF 应用程序中使用 AvalonDock。我的文档 Pane 能够 float (CanFloat =“true”)。但任务栏中不显示 float 窗口。有什么方法可以让
我有一个程序,我希望能够处理所有三种状态: 不显示在任务栏中,就像 Windows 声音、网络程序等小部件一样 显示在任务栏中 - 但不是最顶层。该窗口仍会显示通知区域图标,并且仍应以与 #1 相同的
在我的代码中,以下代码会使在 Windows 10 专业版上运行的应用程序崩溃。 this.ShowInTaskbar = true; 这已经在 2 台不同的机器上进行了测试。当我在 try/catc
我有一个应用程序 (mainApp) 打开模式对话框 (collector) 以询问登录详细信息。该对话框在右上角有一个取消按钮和一个标准关闭按钮,并且有 FormBorderStyle = Fixe
如果您在具有 2 个表单的全新 winform 应用程序中运行这段代码(将其放在 form1 中) private void Form1_Load(object sender, EventAr
在我的应用程序中,我有主窗体和子窗体。我想将子窗体的 ShowIntaskBar 设置为 false,但问题是当我通过菜单打开它时,它会快速出现和消失,然后当我再次打开它时,它会变得可见。所以我不想打
我正在尝试使用热键和任务栏托盘中的启动选项制作应用程序。 现在的问题是,使用 this.Hide()在加载事件中,不会有任何影响。我可以加this.ShowInTaskbar = false ,但在我
我正在使用配置为 FixedToolWindow 的 WinForm。我已将 ShowInTaskbar 设置为 False - 我正在使用 NotifyIcon 来管理窗口最小化后的恢复。 当我最小
我是一名优秀的程序员,十分优秀!