我需要绘制一个普通的虚点焦点矩形。
我想知道是否有一个等价的
Public Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long
在GDI+类/系统。VB绘图。. NET管理,并将完成相同的。
谢谢!
我需要编辑我的帖子:出于某种原因,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
命名空间中,由System.Windows.Forms.dll
库定义,所以它在技术上不是System.Drawing
库的一部分,就像你要求的那样,但是你应该能够在WinForm应用程序之外引用和使用该库,如果有必要的话。