PDA

View Full Version : سوال: رویداد کلید های F صفحه کلید



kolman
دوشنبه 26 اسفند 1392, 11:08 صبح
با سلام و خسته نباشید خدمت اساتید محترم
من مدت 1 ماهی میشه که از VB به #C کوچ کردم
میخوام از دستور Switch برای رویداد کلید های F1 تا F4 و کلید Escape استفاده کنم
اما پیغام زیر رو میده
(Control cannot fall through from one case label ('case '' (0x1B
اول میخواستم با دستور if انجام بدم
اما فقط if آخری رو اجرا می کنه

plus
دوشنبه 26 اسفند 1392, 12:06 عصر
شما باید در دستور switch از break استفاده کنید.برای مثال:

switch (e.KeyCode)
{
case Keys.F1:
this.ShowHelpForm();
break;
case Keys.F2:
this.ShowAnotherForm();
break;
}

توضیحات بیشتر:http://msdn.microsoft.com/en-us/library/06tc147t.aspx

ولی فکر میکنم پیدا کردن جواب سوالاتی در مورد syntax یک زبان توی کتاب یا توی internet خیلی سریع تر از اینکه براش تاپیک بزنین هست.

kolman
دوشنبه 26 اسفند 1392, 13:50 عصر
ممنون از توضیحاتتون.
ساختار این دستور رو بلدم
اما مشکل من اینه که میخوام از رویداد keypress استفاده کنم
این دستوری که به من دادین توی برنامه ام کاری انجام نمیده و زمانی که این رو تو رویداد keypress میارم پیغام زیر رو میده
(Cannot implicitly convert type 'System.Windows.Forms.Keys' to 'char'. An explicit conversion exists (are you missing a cast
اما جالب اینجاست که با دستور if کلیدایی غیر از F کار می کنند. مثل Escape,Return

plus
دوشنبه 26 اسفند 1392, 15:37 عصر
ممنون از توضیحاتتون.
ساختار این دستور رو بلدم
اما مشکل من اینه که میخوام از رویداد keypress استفاده کنم
این دستوری که به من دادین توی برنامه ام کاری انجام نمیده و زمانی که این رو تو رویداد keypress میارم پیغام زیر رو میده
(Cannot implicitly convert type 'System.Windows.Forms.Keys' to 'char'. An explicit conversion exists (are you missing a cast
اما جالب اینجاست که با دستور if کلیدایی غیر از F کار می کنند. مثل Escape,Return

دوست عزیز اگه شما ساختارش رو بلد بودی با خطای Control cannot fall through from one case label روبرو نمیشدی.
رویداد KeyPress مربوط به وقتیه که یک کاراکتر فشرده شده باشه.دکمه های F کاراکتر نیستن.شما میتونی توی رویداد KeyDown و یا رویدادهای مشابه که EventArgs اونها مشخصه KeyCode دارن کدتون رو قرار بدی.

kolman
چهارشنبه 28 اسفند 1392, 10:32 صبح
دست شما درد نکنه.
مشکلم حل شد.
بازم ممنون