vb.net - 单击标题栏后,Vscrollbar 不会消失
问题描述
我的项目中有一个 vscrollbar,如果鼠标点击它之外的任何东西,我想让它消失。我已经尝试过 (Leave) 和 (Lost Focus) 事件并且他们成功了:
Private Sub VScrollBar1_Leave(sender As Object, e As EventArgs) Handles VScrollBar1.Leave
VScrollBar1.Visible = False
End Sub
Private Sub VScrollBar1_LostFocus(sender As Object, e As EventArgs) Handles VScrollBar1.LostFocus
VScrollBar1.Visible = False
End Sub
问题是单击(标题栏)时,没有任何反应,滚动条仍然可见,有什么建议吗?
解决方案
标题栏没有点击事件,但您可以为它(创建)一个
您的代码工作正常,您只需要添加以下代码:
Private Const WM_NCLBUTTONDOWN As Long = &HA1
Protected Overrides Sub DefWndProc(ByRef m As System.Windows.Forms.Message)
If CLng(m.Msg) = WM_NCLBUTTONDOWN Then
Focus()
End If
MyBase.DefWndProc(m)
End Sub
这将专注于您的表单,这将使您的代码完美运行......
推荐阅读
- kubernetes - 部署后用于挂载 nfs 路径的 Pod/Container 目录为空
- scala - value 选项不是 org.apache.spark.sql.DataFrame 的成员
- excel - 如何将来自不同单元格的值插入到 MS EXCEL 中的巨大 html 字符串中?
- java - 将字符串转换为泛型类型
> - ios - 如何让 React Native 应用程序询问我是否要保存用户名和密码?(iOS 11+)
- entity-framework - F# linq 按空值过滤列
- apache-nifi - 如何将 https 与 PutMarkLogic 一起使用?
- r - 在 r 中保存来自 for 循环的多个输出
- c# - Unity 横幅广告未显示
- python - 使用for循环计算bmi的奇怪输出