我使用Visual Basic.Net並在屏幕上繪製圖形。在屏幕上繪製圖形
這裏是我的代碼:
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim gr As Graphics = Graphics.FromHwnd(New IntPtr(0))
gr.DrawString("text on screen",
New Font(Me.Font.FontFamily, 25,
FontStyle.Regular), Brushes.Red, 50, 50)
End Sub
在上面的代碼,文字在屏幕上繪製。我的問題是:我如何刪除繪製到屏幕上的文本?我發現有一個.Clear方法,但是,這個'清除整個繪圖表面並使用指定的背景顏色填充它',而不是僅僅刪除繪製的文本。
在此先感謝。
編輯
我想開發一個潛意識信息的應用程序將在用戶使用其他應用程序在屏幕上顯示的消息。透明表單是做這件事的最好方法嗎?
這不是一種合適的繪畫方式。無論你畫什麼,都可以隨時擦除。恢復時遇到問題僅僅是爲什麼你不應該這樣做的另一個例子。創建你自己的窗口。它不一定是可見的,請使用Form.TransparencyKey屬性。 – 2013-03-23 02:46:17
此外,'IntPtr.Zero'是***不***如何得到桌面窗口句柄。參見'GetDesktopWindow()' – 2013-03-23 03:09:10
'InvalidateRect()'可能適用於清除繪製的文本。 – 2013-03-23 03:12:29