Сделайте клики формы "провалиться" в приложении ниже - PullRequest
5 голосов
/ 21 июня 2011

Я создал форму с непрозрачностью 30%, и я хочу, чтобы это накладывалось на мой экран, чтобы я мог рисовать на нем сетку, при этом все еще имея возможность контролировать любые программы внизу.Поэтому я хочу, чтобы форма, которую я создал с помощью сетки, игнорировала события, связанные с мышью, поэтому я могу щелкнуть программу внизу, но она по-прежнему отображается сверху.

Есть идеи по этому поводу?

1 Ответ

5 голосов
/ 21 июня 2011

Вы можете указать Transparent Key Цвет для некоторого значения цвета формы заднего цвета для области кликов. Этот цвет должен отличаться от цвета сетки, который вы выбираете

Это код VB.Net, который я пытался преобразовать, его не должно быть сложно преобразовать.на C #

Private Sub frmTest_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
    Dim rc As Rectangle = New Rectangle(0, 0, Me.Width - 1, Me.Height - 1)
    Using br As New Drawing2D.HatchBrush(Drawing2D.HatchStyle.Cross, Color.Silver, Color.Transparent)
        e.Graphics.FillRectangle(br, rc)
    End Using
End Sub

Private Sub frmTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.TopMost = True : Me.Opacity = 10% : Me.WindowState = FormWindowState.Maximized
    Me.BackColor = Color.White
    Me.TransparencyKey = Color.White
    Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...