VB.绘制焦点矩形



我需要绘制一个普通的虚点焦点矩形。

我想知道是否有一个等价的

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应用程序之外引用和使用该库,如果有必要的话。

最新更新