PDA

View Full Version : سوال: پاک کردن textbox



saman shabani
پنج شنبه 22 تیر 1391, 17:53 عصر
با زدن دکمه جدید میخوام تمامی تکس باکس های روی فرم خالی بشند

×× اما ی مشکلی هست.. تو فرمم 5 تا groupbox دارم .. که این تکست باکس ها تو این groupbox ها هستند××
و نمیخوام برای هر groupbox این کد رو بنویسم.. میخوام با یک کد همه پاک بشن.. foreach (Control c in groupbox1.Controls)
{
if (c.GetType().ToString() == "System.Windows.Forms.TextBox")
c.Text = "";
}

hamid_hr
پنج شنبه 22 تیر 1391, 18:26 عصر
بجای groupbox1.Controls از this.Controls استفاده کن

ali_habibi1384
پنج شنبه 22 تیر 1391, 18:30 عصر
با اين كد حتي اگه 100 تا گروپ باكس هم داشته باشي همه رو ميگرده.از تابه بازگشتي استفاده كردم


public static void LoadSkin(Control root )
{



foreach (Control ctl in root.Controls)
{
LoadSkin(ctl);

if (ctl is TextBox )
{
TextBox tmp;
tmp = (TextBox)ctl;
tmp.Text="";
}


}

}

Sirwan Afifi
پنج شنبه 22 تیر 1391, 21:34 عصر
یه متد بنویس که ورودیش param باشه و بعد TextBox هایی رو که می خوای پاک بشن رو به متدت ارسال کن.

saman shabani
پنج شنبه 22 تیر 1391, 21:47 عصر
خیلیییییییی ممنون آقای حبیبی .. کار کرد

rayson
چهارشنبه 02 مرداد 1392, 00:27 صبح
سلام دوستان ،
در مورد پاک کردن تکست سوال داشتم.
نخواستم تاپیک جدید ایجاد کنم ، جستجو کردم سوالی که من دنبالش بودم جوابش پیدا نکردم برای همین در این تاپیک قدیمی موضوع را بیان کردم که اسپم هم ایجاد نشود.
من برای پاک کردن تکست باکس کد هایی در سایت دیدم ولی فکر کنم روش های بهتری هم برای پاک کردن اطلاعات درون تکست بعد از زدن ثبت دکمه باشه . کدی که نخوام اسپم کنم برای اینکه تعداد تکست ها برنامه من زیاد هست و این کار خیلی بد هست که بخوام دونه دونه تکست خالی کنم روشی مناسب و بهینه کسی از دوستان سراغ داره که من را راهنمایی کند ؟
یک سوال دیگر که ارتباطی با تکست و .. ندارد : در هنگام ساخت برنامه شخص کد نویس وقتی داره از Control tab استفاده میکند تقریبا تمام کدهاش تو یک فرم قرار دارد و بعضی اوقات هم به اشتباه برروی بخشی کلیک میکند و قسمت رویداد های آن ( بخش کدنویسی) باز میشود که باعث طویل شدن رول بار میشود و هنگامی که میخوای کدی چک کنی گیج میشوی ، روشی هست که رویداد های اضافی را حذف کرد ؟( من Delete کردم کدها را ولی زمان اجرا از من خطا میگیرد) ( یک عکس قرار میدم در این مورد تا منظور من را دقیقا متوجه شوید)ممنون میشم راهنمایی کنید.
http://www.uploadtak.com/images/o8352_asd.jpg
با تشکر

hamid_hr
چهارشنبه 02 مرداد 1392, 08:44 صبح
سوال اول راه مناسب همونه كه اقاي ali_habibi1384 تو همين پست دادن
وقتي خطا ميده روي خطا دابل كني ميره روي خطي كه خطا ميده. اون خطو پاك كن

rayson
چهارشنبه 02 مرداد 1392, 14:23 عصر
سوال اول راه مناسب همونه كه اقاي ali_habibi1384 تو همين پست دادنکد مورد نظر را در کدام بخش باید وارد کنم؟

وقتي خطا ميده روي خطا دابل كني ميره روي خطي كه خطا ميده. اون خطو پاك كن راه دیگری ندارد که این رویداد ها را نخواهم پاک کنم ؟ ( مثلا از دید خودم مخفیشون کنم.)

khokhan
چهارشنبه 02 مرداد 1392, 17:49 عصر
کد مورد نظر را در کدام بخش باید وارد کنم؟
راه دیگری ندارد که این رویداد ها را نخواهم پاک کنم ؟ ( مثلا از دید خودم مخفیشون کنم.)
درود برشما

یه نمونه واسطون می ذارم از سه روش برای کاری که شما قصد دارین بکنین استفاده شده و همه رو گذاشتم داخل یه نمونه یکجا خودت ببینی متوجه می شی

جونم واسطون بگه که توی این نمونه دوتا کلاس ایجاد شده برای این کار و توی تمام فرمها فقط کافیه کلاس رو فراخوانی کنی و اجراشون کنی . دیگه لازم نیست برا هر کدوم از فرمهاتون جدا گانه کد نویسی کنین
والبته یکی از این کلاسها طوری که هر چی کنترل توی فرمتون بود از تکست باکس گرفته تا چک باکس توی هر سوراخ سمبه ای هم که باشند:لبخند: ،حالا داخل تب کنترل یا توی گروپ باکس ، در امان نیستند و با اجرای فرامین کلاس خالی می شن

حالا شما نگاه کنین هرجور که سلیقتون هست تغییرش بدین واستفاده کنین :لبخند::چشمک:

rayson
چهارشنبه 02 مرداد 1392, 18:35 عصر
مرسی از شما خوخان جان همیشه کمک کردید .
فقط برای ابزار comboBox دستور پاک شدن ندادید سعی کردم خودم اضافه کنم اما نتونستم .
اگر امکانش هست برای آن هم قرار بدید با تشکر /

rayson
چهارشنبه 02 مرداد 1392, 18:39 عصر
else if (control is ComboBox) {
ComboBox cmb = (ComboBox)control;
cmb.Text = "";
در کلاس Helper اضافه کردم درست شد مرسی از شما :))

AceBomBom
چهارشنبه 24 مهر 1392, 15:46 عصر
سلام اساتید

جواب آقای حبیبی وقتی متد رو فراخوانی میکنی ارور میده
Error 1 No overload for method 'LoadSkin' takes 0 arguments

چکار باید بکنم ؟زیاد سی شارپ وارد نیستم !:اشتباه:

لطفا راهنمایی کنید
ممنون:متفکر:

AceBomBom
چهارشنبه 24 مهر 1392, 15:52 عصر
ببخشید فهمیدم چکار کنم

میزارم واسه بقیه this داخل پرانتز

خیلی خیلی ببخشید

arpachi
دوشنبه 23 دی 1398, 16:35 عصر
سلام میدونم که این تاپیک قدیمی هست ولی اگر از devexpress استفاده کرده باشیم چطور میشه؟؟

ASHKANLAEI
دوشنبه 23 دی 1398, 17:28 عصر
داخل کد اضافه کنید:
if (ctl is DevExpress.XtraEditors.TextEdit) {
DevExpress.XtraEditors.TextEdit tmp;
tmp = (DevExpress.XtraEditors.TextEdit)ctl;
tmp.Text="";
}