امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
یک کد برای همه کنترل ها
نویسنده پیام
HoseinVig آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,165
موضوع‌ها: 97
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 4768
( 2464 تشکر در 677 ارسال )
ارسال: #1
یک کد برای همه کنترل ها
سلام
میخایم یک کد بنویسیم و برای رویداد همه کنترل ها باشه.
مثلا وقتی چند تا textbox داشتیم میخاستیم فقط عدد بگیرن یک کد مینوشتیم و انتساب میدادیم برای رویداد هر textbox ی که میخایم چون رویداد keypress بود که کنترل ها رو از هم متمایز میکرد و کد مورد نظر رو روی همون کنترلی که رویداد برش اتفاق افتاده بود اجرا میکرد.
حالا
حالا چند تا textbox داریم میخایم زمانی که فوکوس (enterرویداد ) میگیرند رنگ زرد بشن و وقتی فوکوس از دست میدن (رویداد leave) رنگشون سفید بشه...
فکر نکنم معقول باشه که برای همه textbox ها کد بنویسیم ، میخواستم از شما بپرسم راهش چیه ؟

(آخرین ویرایش در این ارسال: ۱۵-شهریور-۱۳۸۸, ۱۷:۴۴:۴۸، توسط HoseinVig.)
۱۵-شهریور-۱۳۸۸, ۱۷:۴۲:۰۰
ارسال‌ها
پاسخ
hamidsina آفلاین
كاربر دو ستاره
**

ارسال‌ها: 210
موضوع‌ها: 67
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 94
( 23 تشکر در 11 ارسال )
ارسال: #2
RE: یک کد برای همه کنترل ها
با سلام
من یه کاری در این رابطه که یه کد برا همه رویداد ها باشه کردم شاید به درد شما هم بخوره

من چند تا TextBox داشتم و برا رویداد KeyPress همه رو انتخاب کردم و رویداد KeyPress رو ایجاد کردم کهیه رویداد برا TextBox اولی ایجاد شد و ویژوال استادیو اون رو به بقییه TextBox ها نسبت داد.
کد:
this.textBox14.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress);

۱۳-مهر-۱۳۸۸, ۲۰:۰۰:۲۲
ارسال‌ها
پاسخ
HoseinVig آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,165
موضوع‌ها: 97
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 4768
( 2464 تشکر در 677 ارسال )
ارسال: #3
RE: یک کد برای همه کنترل ها
واسه keypress مشکلی نیست چون توی keypress با کاراکتر کار داریم که میتونیم بدستش بیاریم اما نمیتونیم اسم یا هندله تکست باکس رو بدست بیاریم.
من فکر میکنم باید یه کلاس جدید ایجاد کنیم که از تکست باکس ارث ببره و اون چیزی که میخایم رو به کلاس مورد نظر اضافه کنیم

۱۴-مهر-۱۳۸۸, ۲۰:۰۶:۳۰
ارسال‌ها
پاسخ
hamidsina آفلاین
كاربر دو ستاره
**

ارسال‌ها: 210
موضوع‌ها: 67
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 94
( 23 تشکر در 11 ارسال )
ارسال: #4
RE: یک کد برای همه کنترل ها
سلام
درسته
این کاری که من گفتم مال وقتی هست که یه کد رو برا همه کنترلها اجرا میکنیم
مثلا میخایم ماوس رو هر کنترلی میره یه فایل صوتی اجرا بشه
ولی اگه بخایم رو هر کنترلی فایل صوتی جدا گانه ایجاد بشه خوب باید نام کنترل رو داشته باشیم
و اگه کلاسی هم بنویسیم و بخایم از طریق اون عمل کنیم بازم برا هر کنترل یه کد نیاز داریم که نسبت به ایجاد رویدادهای مجزا فکر کنم چندان فرقی نداشته باشه .
حالا شما اگه یه کلاس برا این کار نوشتید ما رو هم بی نسیب نگذارید .

۱۵-مهر-۱۳۸۸, ۰۲:۰۵:۰۸
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #5
RE: یک کد برای همه کنترل ها
نه بابا چرا سختش میکنید. با همونی که حمیدسینا گفت میشه. از sender استفاده کنید.
اینم همونی که میخواستید:(ضمیمه)


فایل‌(های) پیوست شده
.rar   WindowsFormsApplication4.rar (اندازه: 40.91 KB / تعداد دفعات دریافت: 71)

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۵-مهر-۱۳۸۸, ۲۰:۲۲:۲۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hamidsina
hamidsina آفلاین
كاربر دو ستاره
**

ارسال‌ها: 210
موضوع‌ها: 67
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 94
( 23 تشکر در 11 ارسال )
ارسال: #6
RE: یک کد برای همه کنترل ها
این کد واقعا زیبا بود کوچولو اما مفید.
حالا منم یه مشکلی در این رابطه پیدا کردم
من با کد زیر :
کد:
if (((Button)sender).Tag.ToString().Trim() == "account_new")
tag باتون رو میگیرم و مشکلی ندارم اما وقتی از این کد برا TextBox در رویداد LeyPreas استفاده میکنم
کد:
string str = ((TextBox)sender).Tag.ToString().Trim();
بازم برنامه کامپایل میشه ولی وقتی این دستور اجرا میشه برنامه خطا رو میده .
با تشکر.

۱۶-مهر-۱۳۸۸, ۱۷:۱۷:۳۹
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #7
RE: یک کد برای همه کنترل ها
با این فکر کنم درست بشه:
کد:
if (((TextBox)sender).Tag != null)
            {
                string str = ((TextBox)sender).Tag.ToString().Trim();
            }

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۶-مهر-۱۳۸۸, ۱۸:۲۱:۵۳
وب سایت ارسال‌ها
پاسخ
hamidsina آفلاین
كاربر دو ستاره
**

ارسال‌ها: 210
موضوع‌ها: 67
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 94
( 23 تشکر در 11 ارسال )
ارسال: #8
RE: یک کد برای همه کنترل ها
متاسفانه فرقی نکرد آخه خصیت Tag برابر با null نبود
خطا
کد:
Unable to cast object of type 'System.Windows.Forms.TextBox'to type 'System.Windows.Forms.TextBox'.

۱۶-مهر-۱۳۸۸, ۱۹:۰۲:۵۰
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #9
RE: یک کد برای همه کنترل ها
این دیگه از اون خطا هاست!. میشه پروژه رو آپ کنید؟
(توصیه های آنتیسیشارپی: برید ویبی کار کنید که این همه مشکل نداره. درجا خودش تبدیل میکنه. شاید هم من سیشارپ خوب بلد نیستم)

میزان رای دشمن است!
[تصویر:  cff100.png]
(آخرین ویرایش در این ارسال: ۱۷-مهر-۱۳۸۸, ۰۹:۳۰:۰۹، توسط ajlajlajl.)
۱۷-مهر-۱۳۸۸, ۰۹:۱۵:۵۹
وب سایت ارسال‌ها
پاسخ
hamidsina آفلاین
كاربر دو ستاره
**

ارسال‌ها: 210
موضوع‌ها: 67
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 94
( 23 تشکر در 11 ارسال )
ارسال: #10
RE: یک کد برای همه کنترل ها
جان من VB بهتره ؟
یعنی ما خودمونو الاف کردیم ؟
یه pdf آدرس بدید اگه بهتره ما هم بریم تو کار همون
کدومش راحت تره ؟

۱۷-مهر-۱۳۸۸, ۱۹:۱۶:۳۰
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #11
RE: یک کد برای همه کنترل ها
چی بگم .الان یچی بگم میریزن سرم میگن نه Biggrin
از نظر کارایی هیچ فرقی ندارن. ولی چیزی که من احساس میکنم VB.NET راحت تر از C# هسته. هم این که VS برای VB امکانات بیشتری ارائه میده.
حداقلش. به نظر من. کسی که قبلا VB کار کرده اصلا صرف نمیکنه بره طرف C# . البته توی جنبه اقتصادیش و کاریابی رو شرمنده. مثل این که اونجا هم به خاطر همین تفکرات اشتباه بیشتر طرفدار C# هستن.

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۷-مهر-۱۳۸۸, ۲۰:۰۶:۲۶
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question [فوری] شمردن و ذخیره مقدار های کنترل های داینامیک shahryarse 0 2,110 ۰۹-فروردین-۱۳۹۵, ۱۶:۳۷:۱۱
آخرین ارسال: shahryarse
  دسترسی به کنترل های داخل گریدویو Ghoghnus 0 2,597 ۱۰-بهمن-۱۳۹۲, ۱۲:۰۱:۰۷
آخرین ارسال: Ghoghnus
  جلوگیری از جابجا شدن کنترل behzady 1 2,232 ۰۲-اسفند-۱۳۹۱, ۱۶:۳۶:۳۰
آخرین ارسال: behzady
  کنترل PersianMonthCalendar,PersianDateTimePicker esmaeily-hosein 6 7,455 ۲۱-دى-۱۳۹۱, ۰۶:۱۹:۲۹
آخرین ارسال: aeskan
  طرز کار با کنترل linkLabel sayvan 0 2,227 ۳۰-تير-۱۳۹۰, ۱۲:۴۸:۵۹
آخرین ارسال: sayvan
  تغییر خاصیت کنترل با دستور تکرار hamidsina 5 5,379 ۱۷-مهر-۱۳۸۸, ۲۰:۱۰:۰۷
آخرین ارسال: ajlajlajl
  ایجاد ارتباط بین کنترل ها در فرم های متعدد یک برنامه FireMotions 1 6,224 ۱۸-مهر-۱۳۸۷, ۲۱:۰۸:۲۲
آخرین ارسال: computer_prospect

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS