PDA

View Full Version : رویداد فرم



hrj1981
دوشنبه 05 فروردین 1387, 17:04 عصر
دوستان سلام
من می خواستم برای رویداد keydown فرم یک دستور بنویسم ولی هر وقت فرم لود می شود اولین کنترلی که تب ایندکس ان 0 می باشد فراخوانی می شود و نمی توان به رویدادهای فرم دسترسی پیدا کرد و خود پروپرتی فرم هم گزینه ای همانند تب ایندکس ندارد آیا راحلی دارد
ببخشید شاید سوال ها خیلی ساده و پیش پاافتاده باشد شرمنده؟

vahidm
دوشنبه 05 فروردین 1387, 17:11 عصر
با سلام
ببخشید میشه واضح تر بیان کنید ؟
شرمنده

مهران رسا
دوشنبه 05 فروردین 1387, 17:14 عصر
دوستان سلام
من می خواستم برای رویداد keydown فرم یک دستور بنویسم ولی هر وقت فرم لود می شود اولین کنترلی که تب ایندکس ان 0 می باشد فراخوانی می شود و نمی توان به رویدادهای فرم دسترسی پیدا کرد و خود پروپرتی فرم هم گزینه ای همانند تب ایندکس ندارد آیا راحلی دارد
ببخشید شاید سوال ها خیلی ساده و پیش پاافتاده باشد شرمنده؟

خاصیت
KeyPreview
فرم
باید
True
بشه . :چشمک:

hrj1981
دوشنبه 05 فروردین 1387, 17:21 عصر
ببینید مثلا کاربر هر وقت در هر کجای فرم بود با زدن کلید p پنجره پرینتر باز بشه ، حالا شما فرض کنید من در یک فرم حدود 30 کنترل اعم از تکس باکس و ... داشته باشم و بخوام برای رویداد keydown هر کدام یک کد را تکرار کنم و این کار عاقلانه نیست حال اگر این دستور را در یکی از رویدادهای(keydown,keypress) خود فرم بنویسم خیلی راحتر می باشد ولی نمی توانم رویدادهای فرم را کنترل کنم یا آنها را فراخوانی نمایم.

اوبالیت به بو
دوشنبه 05 فروردین 1387, 17:24 عصر
اون موقع زمانی فعال میشه که کنترل برنامه رویه Form باشه.

Mbt925
دوشنبه 05 فروردین 1387, 17:31 عصر
خاصیت KeyPreview اه فرمتون رو همون طور که دوستمون گفت True کنید.

با این کار هرجای فرمتون که کلیدی فشرده بشه ، رویداده مربوطه به فرمتون فراخوانی میشه.

ali_habibi1384
سه شنبه 06 فروردین 1387, 09:57 صبح
منظورتونو فهمیدم . شما نباید از کنترلهایی استفاده کنید که موس روی آنها فاکوس شوند . مثل text یا combo یا اگر از آنها استفاده می کنید enabled آنها را False کنید.

Mbt925
سه شنبه 06 فروردین 1387, 10:27 صبح
منظورتونو فهمیدم . شما نباید از کنترلهایی استفاده کنید که موس روی آنها فاکوس شوند . مثل text یا combo یا اگر از آنها استفاده می کنید enabled آنها را False کنید.

قرار داشتن این کنترل ها روی فرم هیچ مشکلی ایجاد نمی کنه.

vbhamed
سه شنبه 06 فروردین 1387, 14:30 عصر
سلام
همونطور که دوستامون گفتن وقتی KeyPreview برابر false باشه اول کنترل رو فرم کلید رو دریافت می کنه و اگر برابر True باشه اول رویداد Form_KeyDown فراخوانی میشه بعد KeyDown مربوط به کنترل ها

مهران رسا
سه شنبه 06 فروردین 1387, 14:33 عصر
منظورتونو فهمیدم . شما نباید از کنترلهایی استفاده کنید که موس روی آنها فاکوس شوند . مثل text یا combo یا اگر از آنها استفاده می کنید enabled آنها را False کنید.

فکر کنم منظور جناب ali_habibi1384 از False کردن Enabled کنترل ها ، False کردن TabStop اونها باشه ... :قلب: