我需要画一个普通的点状焦点矩形。
我想知道是否有相当于
的内容Public Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long
在管理的VB.NET的GDI + classes / System.Drawing中,将完成同样的工作。
谢谢!
我需要编辑我的帖子:由于某种原因,ControlPaint.DrawFocusRectangle不会在位图上保留。
我想问一下,是否有一种不同的方法也会持续存在于位图上。
答案 0 :(得分:4)
ControlPaint
类有许多用于绘制常见控件相关图形元素的有用工具。它包含一个DrawFocusRectangle
方法,它应该可以满足您的需求。来自MSDN:
在指定的图形表面和指定范围内绘制焦点矩形。
... ...焦点矩形是一个虚线矩形,Windows用于指示当前键盘焦点的控件。 / p>
这是一个Shared
方法,因此您可以在不创建ControlPaint
类实例的情况下调用它,例如:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ControlPaint.DrawFocusRectangle(Button1.CreateGraphics(), Button1.ClientRectangle)
End Sub
该方法还有overload,可让您指定前景色和背景色。
它位于由System.Windows.Forms
库定义的System.Windows.Forms.dll
命名空间中,因此它在技术上不是System.Drawing
库的一部分,就像您要求的那样,但您应该能够引用和使用它如有必要,甚至在WinForm应用程序之外的那个库。