PDA

View Full Version : خالی کردن text یک object



setak
شنبه 23 دی 1385, 16:05 عصر
سلام
من یک فرم دارم که از چند جدول اطلاعات سنگین اطلاعات آن پر می شود . برنامه مشکلی ندارد و مدتی بود کار می کرد اما چند وقتی است دچار یک اشکال عجیب و غریب شده ام
قسمتی از کد من اطلاعات object ها را خالی می کند به صورت زیر
For Each txcontrol As Control In gbpersonnel.Controls
If ((TypeOf txcontrol Is TextBox) Or (TypeOf txcontrol Is ComboBox) Or (TypeOf txcontrol Is NumericUpDown)) Then
Txcontrol.text=""
End If
Next
اما با وجودی که کد را trace میکنم و می بینم که به عمل Txcontrol.text="" می رسد اما واقعا این کار انجام نمی شود . خیلی عجیبه واقعا نمی دونم باید چکار کنم

rezaei manesh
شنبه 23 دی 1385, 18:06 عصر
به trace خودت ادامه بده احتمالا دوباره اونو جایی پر می کنی .
این رو هم چک کن ببین کنترلی رو که پیدا می کنه دقیقا همون کنترلی هست که شما انتظار دارید.
به صورت دستی چک کن ببین clear می شه؟

programmermp
شنبه 23 دی 1385, 18:18 عصر
با سلام

به جای textbox.text="" کد زیر رو بزن ببین جواب می ده یا نه

textbox.clear()

کاره دیگه شاید جواب داد

:قهقهه:

rezaei manesh
شنبه 23 دی 1385, 19:25 عصر
آقا متد Clear برای ComboBox نیست

programmermp
یک شنبه 24 دی 1385, 08:46 صبح
با سلام

متد clear رو برای تکست باکس نوشتم خوب نگاه کنید

در ضمن برای comboboxهمانطور که می دونید باید اینطوری clear کرد ایتمهاشو

combobox1.items.clear()

rezaei manesh
یک شنبه 24 دی 1385, 09:05 صبح
سلام مهندس
می دونم خوب هم نگاه کردم مهندس، اما من با توجه به کد دوستمون گفتم ایشان با سه کنترل می خوان کار کنند .شما هم یک نگاه به کد دوستمون بنداز در ضمن من در همون پست اولم هم گفتم اگه روشهای بالا جواب نداد امتهانی از متد clearهم یه تستی بگیر.
(به صورت دستی چک کن ببین clear می شه؟)و فرض رو بر این گزاشاتم که دستمون کار با clear رو بلده. در ضمن کد شما برای کمبو باکس در اینجا شاید درست نباشه چون می خواد نمایش اولیه رو خالی کنه نه مقادیر کمبو باکس رو با کد شما همه مقایر خالی میشن.که جای اون می تونه سلکت اندکس رو برابر با 1- قرار بده.

programmermp
یک شنبه 24 دی 1385, 09:13 صبح
اقا من شرمنده ام

شما درست میگیید من اصلا حواسم نبود

معذرت می خواهم :ناراحت: :ناراحت: :ناراحت:

Sub Zero
یک شنبه 24 دی 1385, 10:42 صبح
بچه ها ازتون خواهش می کنم کدهاتون رو توی تگ [code] بنویسید .

دوست عزیز اولین اشتباه شما اینه که فکر میکنید سه کنترل شما یک خاصیت مشترک به نام Text دارند . در صورتی که NumericupDown خاصیت Value داره بنابراین بهتره به جای استفاده از If از دستور Select Case استفاده کنید .

در ضمن من متوجه نشدم gbpersonnel.Controls چیه اما یک نکته رو در نظر داشته باشید اگر کنترلهای مورد نظرتون توی یه GroupBox یا امثال اون باشه و منظور شما هم از gbpersonnel.Controls کنترلهای فرمتون باشه کدتون جواب نمی ده و باید از حالت بازگشتی استفاده کنید .

یه چیز دیگه هم یادم رفت بگم . اگر خاصیت DropDown Style کنترل ComboBox برابر
DropDown List باشه خاصیت Text کنترل تغییری نمیکنه .

setak
یک شنبه 24 دی 1385, 10:49 صبح
مرسی
کدم را به صورت زیر اصلاح کردم و مشکلم حل شد :
For Each txcontrol As Control In gbpersonnel.Controls
If ((TypeOf txcontrol Is TextBox) Or (TypeOf txcontrol Is ComboBox)) And txcontrol.Text <> "/" Then
txcontrol.Text = ""
ElseIf TypeOf txcontrol Is NumericUpDown Then
txcontrol.Text = 0
End If
Next