【问题标题】:Keep form open when clicking on another application单击另一个应用程序时保持表单打开
【发布时间】:2016-12-19 00:50:29
【问题描述】:

我有一个应用程序,我试图将其用作键盘来输入特殊字符。它目前有这个功能(不是我的代码!):

Protected Overrides ReadOnly Property CreateParams() As CreateParams
    Get
        Dim baseParams As CreateParams = MyBase.CreateParams

        Const WS_EX_NOACTIVATE As Integer = &H8000000
        Const WS_EX_TOOLWINDOW As Integer = &H80
        baseParams.ExStyle = baseParams.ExStyle Or CInt(WS_EX_NOACTIVATE Or WS_EX_TOOLWINDOW)

        Return baseParams
    End Get
End Property

这使得表单永远不会获得焦点,因为我不想按下表单上的按钮然后窃取焦点。但是,这也意味着当我在表单外部单击时,窗口会消失,因为它位于焦点应用程序的后面。使用这个程序的唯一方法是调整我要输入的应用程序的大小,并将窗口放在它旁边。也就是说,我只能这样使用:

所以我想知道的是,我如何制作它,以便我可以将此应用程序放置在我想要使用它的应用程序上,但是当我按下应用程序上的按钮时,它仍然不会专注于那个窗户?

【问题讨论】:

  • 你试过什么,现在我什么也没看到,这不是 SO 的工作方式。在我们为您提供帮助之前,请先更新并告知我们您尝试过的方法和无效的方法。
  • 听起来您需要工具栏而不是单独的表单。这不适合你吗?
  • @Zaggler 我不知道如何将表单放在前面,因为它也不允许被聚焦。如果我不知道如何尝试,我怎么能告诉你我尝试了什么?
  • @GDS 我不知道,你能用 Visual Studio 创建那些吗?工具栏与表单实际上有何不同?
  • 工具栏是您添加到表单的组件。当您在表单的设计器视图中时,它位于 Visual Studio 的工具箱部分。

标签: vb.net winforms window window-position


【解决方案1】:

您可以在代码中添加Me.Topmost = True,也可以将表单属性设置为TopMost = True

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 2012-08-15
    • 2018-02-02
    • 1970-01-01
    相关资源
    最近更新 更多