【问题标题】:VB Setting up a click-through but visible windows formVB 设置一个点击但可见的窗口窗体
【发布时间】:2013-06-16 21:42:03
【问题描述】:

我有一个设置为 TopMost 的表单。它基本上是一个游戏工具,在游戏中运行并且只接受键绑定。现在,我需要禁用表单中的所有点击事件并进行“点击”,以便用户在不小心单击或右键单击表单时不会被打断。如果我不使用点击表单,点击事件将聚焦显示任务栏的表单并使游戏变慢。我将只使用一个键绑定来启用/禁用该点击功能。如何使用 VB.Net 在 Windows 窗体中设置它?

【问题讨论】:

    标签: vb.net winforms visual-studio-2012


    【解决方案1】:

    在您的表单中覆盖 CreateParams() 并设置 WS_EX_TRANSPARENT 标志:

    Public Class Form1
    
        Private Const WS_EX_TRANSPARENT As Integer = &H20
    
        Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
            Get
                Dim cp As CreateParams = MyBase.CreateParams
                cp.ExStyle = cp.ExStyle Or WS_EX_TRANSPARENT
                Return cp
            End Get
        End Property
    
    End Class
    

    这将提供您正在寻找的“点击”功能。

    【讨论】:

    • 正好相反呢 - 我的表单中有透明边框,我想防止任何背景点击该边框?
    猜你喜欢
    • 2014-01-21
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 2012-09-14
    相关资源
    最近更新 更多