【发布时间】: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