View Full Version : سوال: اشکال در پاک کردن محتویات textbox
msadgd
یک شنبه 28 شهریور 1389, 14:22 عصر
با سلام خدمت دوستان
وقتی تعداد زیادی textbox توی فرم داریم و بخوایم یکدفعه محتویات همه textbox ها رو پاک کنیم از کد زیر استفاده می کنم :
Dim obj As Object
For Each obj In Me.Controls
If obj.GetType() Is GetType(TextBox) Then
DirectCast(obj, TextBox).Clear()
End If
Next
این کد در حالت عادی درست عمل میکنه. اما وقتی همین textbox ها توی مثلا یک گروپ باکس یا یک پنل قرار داشته باشن این کد عمل نمیکنه. چکار باید کرد؟
ممنون
پیروز و سلامت باشید
modirmasool
یک شنبه 28 شهریور 1389, 14:35 عصر
Dim o As Object
For Each o In Me.Controls
If o.GetType() Is GetType(TextBox) Then
o.Visible = False
End If
Next
For Each o In Me.GroupBox1.Controls
If o.GetType() Is GetType(TextBox) Then
o.Visible = False
End If
Next
ali_najari
یک شنبه 28 شهریور 1389, 15:48 عصر
از اين كد هم ميتوني استفاده كني
For Each Co As Control In Me.Controls
If TypeOf Co Is TextBox Then
Dim TB As TextBox = Co
TB.Clear()
End If
Next
يا ميتونيد از اين طريق هم انجام بديد اگه ميخوايد كه پارامتر تعريف نكنيد
For Each Co As Control In Me.Controls
If TypeOf Co Is TextBox Then
Co.Text = ""
End If
Next
msadgd
یک شنبه 28 شهریور 1389, 16:10 عصر
Dim o As Object
For Each o In Me.Controls
If o.GetType() Is GetType(TextBox) Then
o.Visible = False
End If
Next
For Each o In Me.GroupBox1.Controls
If o.GetType() Is GetType(TextBox) Then
o.Visible = False
End If
Next
مدیرمسئول جان اینجوری که کلا خود تکست باکس ویزیبلش فالس میشه. من فقط می خوام متن توی تکست باکس پاک بشه. البته کد قسمت o.visible رو تغییرش دادم به o.clear و درست شد. اما یه سوال: توی کدی که شما نوشتین تغییرات روی محتویات یک گروپ باکس اعمال میشه. حالا اگه چندتا گروپ باکس داشته باشیم چی؟
msadgd
یک شنبه 28 شهریور 1389, 16:15 عصر
از اين كد هم ميتوني استفاده كني
ForEach Co As Control InMe.Controls
IfTypeOf Co Is TextBox Then
Dim TB As TextBox = Co
TB.Clear()
EndIf
Next
يا ميتونيد از اين طريق هم انجام بديد اگه ميخوايد كه پارامتر تعريف نكنيد
ForEach Co As Control InMe.Controls
IfTypeOf Co Is TextBox Then
Co.Text = ""
EndIf
Next
علی جان این کد هم مثل کد خودم کنترل های داخل گروپ باکس رو تغییر نمیده :ناراحت:
modirmasool
یک شنبه 28 شهریور 1389, 18:06 عصر
بفرمایین:
Dim o As Object
Dim ob As Object
For Each o In Me.Controls
If o.GetType() Is GetType(TextBox) Then
o.Visible = False
End If
If o.GetType() Is GetType(GroupBox) Then
For Each ob In o.Controls
If ob.GetType() Is GetType(TextBox) Then
ob.Visible = False
End If
Next
End If
Next
اگه نا مفهومه سورس رو براتون گذاشتم حتما یه نگاه بهش بندازین.
راستی اگه خواستین فقط متن ها رو پاک کنین، از کدهای زیر استفاده کنین:
Dim o As Object
Dim ob As Object
For Each o In Me.Controls
If o.GetType() Is GetType(TextBox) Then
o.text = ""
End If
If o.GetType() Is GetType(GroupBox) Then
For Each ob In o.Controls
If ob.GetType() Is GetType(TextBox) Then
ob.text = ""
End If
Next
End If
Next
ali_najari
دوشنبه 29 شهریور 1389, 01:21 صبح
منم متوجه نبودم که شما ممکنه که گروپ داشته باشید شرمندم
مدیر مسئول کامل توضیح دادن تو پست اخرشون من دیگه جایی واسه حرف زدن ندارم چون کامل بود
msadgd
دوشنبه 29 شهریور 1389, 10:15 صبح
ممنون مدیر مسئول عزیز. عالی بود. کدهات هم مفهوم بود.
پیروز و سلامت باشی
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.