PDA

View Full Version : سوال: کد مشترک واسه همه تکست باکس ها!!!!



porshe
پنج شنبه 30 مرداد 1393, 11:16 صبح
سلام دوستان عزیز
تعدادی تکست باکس دارم ک میخام فقط و فقط حروف بگیره
ی راه حل اینه ک تو قسمت رویدادkeypress کد لازمه رو بنویسم
اما خب اینجوری حجم کد نویسی زیاد میشه ب نظرم جالب نیست
راه حلی وجود داره ک فقط واسه یتکست باکس کد (فقط حروف) رو نوشت و ما بقی تکست باکس از همین کد استفاده کنن ؟ ی جوری مشتق بگیرم از تکست باکس اصلی
اگه همچین چیزی ممکنه لطفا کمکم کنید!!! گر چ میدونم درخواست کد درست نیست !!! چ کنم ک مبتدی هستم

danialafshari
پنج شنبه 30 مرداد 1393, 11:53 صبح
سلام
یکی از راهها اینه که Textbox رو به صورت کامپوننت دربیاری و یا Event بنویسی
موفق باشید

alibilgats
پنج شنبه 30 مرداد 1393, 12:20 عصر
یه راه خیلی سادش اینه که شما کد مورد نظرت رو توی keypress یکی از textbox هات بنویسی و برای بقیه رو بدون کدنویسی از قسمت Event برابر با keypress اون تکست باکست انتخاب کنی!
البته توی هر فرم باید یه بار کدت رو برای keypress یکی از تکست باکسای اون فرم بنویسی.

محمد آشتیانی
پنج شنبه 30 مرداد 1393, 12:29 عصر
سلام
اول یه متد مینویسی به این ترتیب (الان این اجازه ورود اعداد رو نمیده)

private void KeyPressEvent(object sender, KeyPressEventArgs e)
{
if (char.IsNumber(e.KeyChar))
e.Handled = true;
}

بعد برای مثال توی رویداد Form Load به اینصورت میشه

textBox1.KeyPress += new KeyPressEventHandler(KeyPressEvent);

برای هر تعداد تکست باکس بخوای میتونی کد دوم رو بنویسی (یا حتی برای همه تکست باکس ها از یه foreach استفاده کنی)

esafb52
پنج شنبه 30 مرداد 1393, 12:33 عصر
با سلام شما میتونید تمام تکس باکس هاتون رو انتخاب و در رویداد کی پرس این تکه کد رو قرار بدین البته این کد فقط برای عدد گرفتن هست
TextBox txt = sender as TextBox;
if (!(char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar)))
{
e.Handled = true;
}

porshe
پنج شنبه 30 مرداد 1393, 14:06 عصر
آ آشتیانی ببخشید ی سوال چطوری با foreach واسه همه تکست باکس ها بنویسم؟
میشه راهنمایی کنید
سپاس گذارم

محمد آشتیانی
پنج شنبه 30 مرداد 1393, 14:34 عصر
سلام


foreach (object ctrl in this.Controls)
{
if (ctrl is TextBox)
{
TextBox T = new TextBox();
T = ctrl as TextBox;
T.KeyPress += new KeyPressEventHandler(KeyPressEvent);
}
}




موفق باشید