2014-10-08 3 views
-4

안녕하세요, 폼 외부에서 DrawString을 사용하여 폼이 닫힌 경우에도 내 마우스 좌표를 볼 수 있습니다.DrawString을 폼 외부에서 사용하는 방법

아무도 도와 줄 수 있습니까?

+0

그냥 * 무엇 * 마우스 위치를 그리기를 원하십니까? 'Console.WriteLine'은 디버그를 목적으로 작동합니다. – Plutonix

+0

아직 그릴 수있는 창이 필요합니다. 화면에 그림을 그려 보는 것은 PITA에 불과합니다. http://stackoverflow.com/questions/9342570/draw-on-screen-with-gdi-or-gdi-similar-to-inspect 정보를 추적하려면 작은 양식을 만들어야합니다. 양식은 효과를 모방하기 위해 경계선이없고 투명 할 수 있습니다. – TyCobb

답변

1

그릴 때 항상 양식이 필요합니다. 트릭은 텍스트가 보이지 않는 경우를 제외하고 양식에 대한 모든 것을 작성하는 것입니다. 이는 Backcolor 양식과 TransparencyKey 양식을 사용하여 수행 할 수 있습니다. 이 양식을 예로 들어 보겠습니다.

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 속성을 설정하십시오.

+0

도움 주셔서 감사합니다. – daniel

관련 문제