sonofsun
شنبه 26 اسفند 1391, 14:02 عصر
سلام
در طول اجرای برنامه با کلیک موس با کد زیر panel های رو ایجاد می کنم وداخل اون panel ها اشکالی رو رسم می کنم اما و به محض اینکه کلیک می کنم فقط یه لحظه اشکال رسم می شه و بعد panel پاک میشه به نظر شما اشکال کد کجاست؟
PrivateSub Tests_MouseClick(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Tests.MouseClick
Dim panel1 AsNew Panel
Dim b As Graphics
Dim p AsNew Point(x, y)
Tests.Controls.Add(panel1)
b = panel1.CreateGraphics
panel1.Location = p
panel1.Width = 120
panel1.Height = 120
panel1.BorderStyle = BorderStyle.FixedSingle
Dim a AsByte = 0
Dim h AsShort = 1
Dim font1 As Font
Dim pen1 As Pen
Dim i AsByte
pen1 = Pens.Red
font1 = New System.Drawing.Font("b nazanin", 8, FontStyle.Regular)
For i = 1 To 10
b.FillEllipse(Brushes.Pink, 10, i * 10, 20, 10)
b.DrawEllipse(pen1, 10, i * 10, 20, 10)
b.DrawString(h, font1, Brushes.Black, 15, i * 10 - 1)
b.DrawEllipse(pen1, 31, i * 10, 20, 10)
b.DrawEllipse(pen1, 52, i * 10, 20, 10)
b.DrawEllipse(pen1, 73, i * 10, 20, 10)
b.DrawEllipse(pen1, 94, i * 10, 20, 10)
b.DrawString("", font1, Brushes.Black, 33, i * 10 - 1)
b.DrawString("", font1, Brushes.Black, 57, i * 10 - 4)
b.DrawString("", font1, Brushes.Black, 78, i * 10 - 4)
b.DrawString("", font1, Brushes.Black, 99, i * 10 - 2)
h += 1
Next
EndSub
در طول اجرای برنامه با کلیک موس با کد زیر panel های رو ایجاد می کنم وداخل اون panel ها اشکالی رو رسم می کنم اما و به محض اینکه کلیک می کنم فقط یه لحظه اشکال رسم می شه و بعد panel پاک میشه به نظر شما اشکال کد کجاست؟
PrivateSub Tests_MouseClick(ByVal sender AsObject, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Tests.MouseClick
Dim panel1 AsNew Panel
Dim b As Graphics
Dim p AsNew Point(x, y)
Tests.Controls.Add(panel1)
b = panel1.CreateGraphics
panel1.Location = p
panel1.Width = 120
panel1.Height = 120
panel1.BorderStyle = BorderStyle.FixedSingle
Dim a AsByte = 0
Dim h AsShort = 1
Dim font1 As Font
Dim pen1 As Pen
Dim i AsByte
pen1 = Pens.Red
font1 = New System.Drawing.Font("b nazanin", 8, FontStyle.Regular)
For i = 1 To 10
b.FillEllipse(Brushes.Pink, 10, i * 10, 20, 10)
b.DrawEllipse(pen1, 10, i * 10, 20, 10)
b.DrawString(h, font1, Brushes.Black, 15, i * 10 - 1)
b.DrawEllipse(pen1, 31, i * 10, 20, 10)
b.DrawEllipse(pen1, 52, i * 10, 20, 10)
b.DrawEllipse(pen1, 73, i * 10, 20, 10)
b.DrawEllipse(pen1, 94, i * 10, 20, 10)
b.DrawString("", font1, Brushes.Black, 33, i * 10 - 1)
b.DrawString("", font1, Brushes.Black, 57, i * 10 - 4)
b.DrawString("", font1, Brushes.Black, 78, i * 10 - 4)
b.DrawString("", font1, Brushes.Black, 99, i * 10 - 2)
h += 1
Next
EndSub