я пытался достичь следующего результата в приложении WinForms vb.netКак обрабатывать событие нажмите на формы System.Drawing
где каждая дуга или окружность в этом изображении кликабельна , clickable arc окрашен в розовый цвет.
я успел написать следующий код
Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
'Create pen objects
Dim p As New Pen(Color.Green, 30)
Dim p1 As New Pen(Color.Yellow, 30)
Dim p2 As New Pen(Color.Red, 30)
Dim p3 As New Pen(Color.Blue, 30)
'Create rectangle objects
Dim rt As New Rectangle(160, 150, 80, 100)
Dim rt1 As New Rectangle(100, 150, 80, 100)
Dim rt2 As New Rectangle(130, 120, 80, 100)
Dim rt3 As New Rectangle(130, 180, 80, 100)
'Draw arcs
e.Graphics.DrawArc(p, rt, 45, -90)
e.Graphics.DrawArc(p1, rt1, -135, -90)
e.Graphics.DrawArc(p2, rt2, -45, -90)
e.Graphics.DrawArc(p3, rt3, 135, -90)
End Sub
, который привел следующий вывод.
, что я не выяснить, является:
1-, как сделать границу для каждой из дуг.
2- как обрабатывать клики по каждой из дуг.
есть ли лучший способ, чем я пытаюсь это сделать.
любая помощь будет оценена.
Они Арент объекты так, чтобы они не будут иметь события щелчка. Вы можете удержать прямоугольники, чтобы увидеть, находится ли мышь внутри одного или другого при нажатии, но будут проблемы с ними как дуги – Plutonix
@Plutonix, что вам порекомендовать для сохранения нужного результата? –
@RezaAghaei, вы хотите сказать, что я могу использовать rectangle.contains? можете ли вы предоставить пример короткого кода, чтобы все было ясно? –