مشکل در ایجاد event برای array controls
سلام
من یه برنامه میخوام بنویسم که یه قسمتش اینطوریه که با کلیک روی صفحه یه خط که دو سرش دو تا دایره هستن کشیده بشه و هر وقت کلیک دوم انجام شد خط ثابت بشه و با کلیک بعدی دوباره یه خط جدید
تا اینجا مشکلی نداره
مشکل اینجاس که من میخوام فقط وقتی روی دایره ها کلیک میشه یه خط جدید ساخته بشه پس باید یه event برای دایره ها ایجاد بشه ولی از اونجایی که این دایره ها آرایه هستن نمیتونم براشون event درست کنم
چطوری میشه اینکارو کرد؟؟
یعنی الان توی event کلیک شدن روی فرم اینو نوشتم
ممنون میشم کسی اگه بتونه کمکم کنه
اینم برنامه:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
این کل کدیه که فعلا نوشتم و خطوطی که میخوامو میکشه ولی هر جای صفحه
کد:
Imports Microsoft.VisualBasic.PowerPacks
Public Class Form1
Dim lin(100) As LineShape
Dim crcl(101) As PowerPacks.OvalShape
Dim Conv As New ShapeContainer
Dim xx, yy, x2, y2 As Double
Dim i As Integer
Dim Clicked As Boolean = False
Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
If i < 100 Then
If Clicked = False Then
i = i + 1
xx = e.X
yy = e.Y
lin(i) = New LineShape(xx, yy, xx + 1, yy + 1)
crcl(i) = New OvalShape(xx - 5, yy - 5, 10, 10)
crcl(i + 1) = New OvalShape(xx - 5, yy - 5, 10, 10)
crcl(i).Parent = Conv
crcl(i + 1).Parent = Conv
lin(i).BorderWidth = 6
lin(i).Parent = Conv
Clicked = True
Else
Clicked = False
End If
End If
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
If Clicked = True Then
If e.X > xx Then x2 = e.X - 1 Else x2 = e.X + 1
If e.Y > yy Then y2 = e.Y - 1 Else y2 = e.Y + 1
Me.Text = "x : " & x2 & " y : " & y2
If Math.Abs(x2 - xx) > Math.Abs(y2 - yy) Then
lin(i).X2 = x2
lin(i).Y2 = yy
crcl(i + 1).Left = x2 - 5
crcl(i + 1).Top = yy - 5
Else
lin(i).X2 = xx
lin(i).Y2 = y2
crcl(i + 1).Left = xx - 5
crcl(i + 1).Top = y2 - 5
End If
lin(i).Visible = True
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
i = 1
Conv.Parent = Me
crcl(0) = New OvalShape(100, 100, 10, 10)
crcl(0).Parent = Conv
End Sub
End Class