[英]VB.NET Draw focus rectangle
我需要画一个普通的点状焦点矩形。
我想知道是否有相当于
Public Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long
在GDI +类/受管理的VB.NET的System.Drawing中,将完成相同的操作。
谢谢!
我需要编辑我的帖子:由于某些原因,ControlPaint.DrawFocusRectangle不能在位图上保留。
因此,我想问一问是否还有其他方法可以保留在位图上。
ControlPaint
类具有许多有用的工具,可以绘制与控件相关的常见图形元素。 它包含一个DrawFocusRectangle
方法,该方法应该可以完成您想要的操作。 从MSDN:
在指定的图形表面上以及指定的边界内绘制一个焦点矩形。
...
焦点矩形是Windows用来指示哪个控件具有当前键盘焦点的虚线矩形。
这是一个Shared
方法,因此您可以在不创建ControlPaint
类的实例的情况下调用它,例如:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ControlPaint.DrawFocusRectangle(Button1.CreateGraphics(), Button1.ClientRectangle)
End Sub
该方法还有一个重载 ,可让您指定前景色和背景色。
它位于System.Windows.Forms.dll
库定义的System.Windows.Forms
命名空间中,因此按照您的要求,它在技术上不属于System.Drawing
库的一部分,但是您甚至应该能够引用和使用该库在WinForm应用程序外部(如果需要)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.