PDA

View Full Version : سوال: پاک شدن اشکال به بعد از رسم



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

sonofsun
یک شنبه 27 اسفند 1391, 12:09 عصر
کسی نیست جواب بده؟؟؟؟؟؟:متفکر:

roya.raha
یک شنبه 27 اسفند 1391, 18:20 عصر
x , y را تعریف نکردید !
باید اینطوری باشد :
dimx=e.x
dimy=e.y
چرا از پنل استفاده کردید ، از پیکچر باکس بهتر نبود ؟
من خیلی وارد نیستم ولی فکر کنم یک جایی هم باید تعریف کنید پنل قبلی حذف بشه یا تعریف کنید کدوم پنل رو قرار بگیرد.

Mohamad.Net.MSDN
پنج شنبه 01 فروردین 1392, 02:17 صبح
مشکل از همین پنل شماست ، اشکاالی که شما رسم میکنید پاک نمیشند فقط وقتی روشون کلیک میکنید نامرئی میشند.
راه حل خاصی هم نداره باید به بر و بچه های بیلی بگیم درستش کنند من هم همین مشکل رو داشتم و دارم