【问题标题】:How to use DrawString outside the form vb.net如何在 vb.net 表单之外使用 DrawString
【发布时间】:2014-10-08 17:48:57
【问题描述】:

您好,我想知道如何在表单外使用 DrawString,这样即使表单关闭,我也可以看到鼠标的坐标。

谁能帮忙?

【问题讨论】:

  • 您希望在什么上绘制鼠标位置? Console.WriteLine 可能用于调试目的。
  • 你仍然需要一个窗口来绘制。试图在屏幕上画画几乎就是一个 PITA。 stackoverflow.com/questions/9342570/… 您应该只创建一个小表单来跟踪信息。表单可以是无边界和透明的以模仿效果。

标签: vb.net


【解决方案1】:

你总是需要一个表格来绘制。诀窍是使除文本之外的所有有关表单的内容均不可见。这可以通过使用BackcolorTransparencyKey 属性的形式来完成。以这个表格为例。

Public Class Form1
    Dim WithEvents timer As New Timer With {.Interval = 500}
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.BackColor = Color.Pink
        Me.TransparencyKey = Color.Pink
        Me.TopMost = True
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        timer.Start()
    End Sub

    Private Sub timer_Tick(sender As Object, e As EventArgs) Handles timer.Tick
        Using g As Graphics = Me.CreateGraphics
            g.Clear(Color.Pink)
            g.DrawString(MousePosition.ToString, New Font("Arial", 20), Brushes.Red, New PointF(10, 10))
        End Using
    End Sub
End Class

表单上具有TransparencyKey 颜色的每种颜色都是透明的。这只会使您在表单上绘制的文本可见。设置TopMost 属性以防止表单落后于其他应用程序。

【讨论】:

  • 感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多