ورود

View Full Version : سوال: ریست کردن تمام ورودی های برنامه



Mehdi3cm
یک شنبه 01 شهریور 1388, 18:59 عصر
سلام به دوستان
من يه برنامه با VB.Net نوشتم كه تو صفحه اصلي كلي تكس باك ، متغير ، آرايه و... داره
من ميخوام يه دكمه طراحي كنم كه زماني روي اون كليك ميشه تمامي وروديهاي من (تكس باك ، متغير ، آرايه و...) به حالت اول برنامه(مثل اولش كه باز ميشه برگرده)
آيا دستوري تو VB.Net هست كه به صورت خودكار فرم را ببنده و دوباره باز كنه
قربون همتون مخصوصا كسي كه جوابمو زودتر بده:قلب:

Mani_rf
یک شنبه 01 شهریور 1388, 19:18 عصر
دوست عزیز سلام.
برای انجام این کار ، چنانچه فرمی که می خواهی این عمل را روی آن انجام درهی فرم اصلی نیست ، می توانی با فرمان Dispose فرم را از حافظه حذف و دوباره فراخوانی کنی. برای مثال :



Form2.Dispose(True)

Form2.Show()

anooshiran
یک شنبه 01 شهریور 1388, 19:55 عصر
سلام دوست عزيز

عملي كه شما مي خواهيد انجام دهيد destruction نام دارد.

بهتر است در web كلمه destructors را search كني كلي مطلب دست مياد.
در ضمن در help خود vb اگر كلمه destructors را جستجو كني مثالهاي متنوع و خوبي داره.

Hossis
دوشنبه 02 شهریور 1388, 00:40 صبح
اتفاقا سؤال جالبی پرسیدی
این کار دو راه دارد

Me.Dispose()
در روش دوم باید این کد را در یک ماژول بنویسی و در رویداد کلیک دکمه فرمان، اون تابع توی ماژول رو فراخوانی کنی! واضحه؟



Sub Main
Form1 = Nothing
Form1.Show()
End Sub
sub Button1_click(..)
call Main
end sub

Mehdi3cm
دوشنبه 02 شهریور 1388, 23:59 عصر
ممنون از دوستان:قلب:
ولي من نتونستم از اين كد استفاده كنم:اشتباه:
بعد از اجراي اين كد برنامه من بسته ميشه:ناراحت:
حتي كد دوم آقاي ،هم با مشكل مواجه شد:عصبانی++:
فكرم مي‌كنم مشكل مربوط به اينه كه اين فرمي كه مي‌خوام همچين بلايي رو سرش بيارم فرم اصليه منه :متفکر:
خواهشا زودتر كمكم كنين:گریه:

anooshiran
سه شنبه 03 شهریور 1388, 04:56 صبح
سلام دوست عزيز

براي rest كردن كنترل هات مي توني از كد زيز اشتفاده كني. البته بسته به كنترل هايي كه استفاده مي كني بايد كد را تكميل كني




Public Shared Sub ResetControls(ByVal FormControls As ControlCollection)
For Each c As Control In FormControls
Dim strCntName As String = c.GetType().Name
Select Case strCntName
Case "TextBox"
Dim txtContol As TextBox = DirectCast(c, TextBox)
txtContol.Text = ""
Case "Combobox"
End Select
Try
ResetControls(c.Controls)
Catch ex As Exception
End Try
Next
End Sub
Protected Sub btnResetControls_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnResetControls.Click
ResetControls(Me.Controls)
End Sub



در مورد متغيرها هم مي تواني از روشي مشابه اين استفاده كني
اين راحت ترين راه ممكن در vb است.