PDA

View Full Version : حرفه ای: فشار دادن و نگه داشتن یک کلید در #C



alireza_k22
دوشنبه 29 خرداد 1396, 14:43 عصر
سلام دوستان خسته نباشین میخاستم بپرسم که من میخام یه کدی بنویسم که بگه اگه کلید جهت بالا و اسپیس رو بگیره ی صدای اسلحه بیاد متاسفانه اوج هنری ک تونستم دو تا کلید رو بصورت همزمان بزنم و این کار رو بکنم
خوشحال میشم بهم جواب بدین خیلی بهش نیاز مندم یه رویداد فشار دادن و نگه داشتن و چیزی شبیه اینا ک کارمو راه بندازه خیلی ضروریه مرسی

shahryari
دوشنبه 29 خرداد 1396, 17:20 عصر
سلام دوستان خسته نباشین میخاستم بپرسم که من میخام یه کدی بنویسم که بگه اگه کلید جهت بالا و اسپیس رو بگیره ی صدای اسلحه بیاد متاسفانه اوج هنری ک تونستم دو تا کلید رو بصورت همزمان بزنم و این کار رو بکنم
خوشحال میشم بهم جواب بدین خیلی بهش نیاز مندم یه رویداد فشار دادن و نگه داشتن و چیزی شبیه اینا ک کارمو راه بندازه خیلی ضروریه مرسی
رویداد keydown این کارو شروع میکنی و میتونی این فرایند رو با keyup قطع کنی

parvizwpf
دوشنبه 29 خرداد 1396, 19:23 عصر
این برای کلید ترکیبی:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private bool prefixSeen;

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if (prefixSeen) {
if (keyData == (Keys.Alt | Keys.Control | Keys.P)) {
MessageBox.Show("Got it!");
}
prefixSeen = false;
return true;
}
if (keyData == (Keys.Alt | Keys.Control | Keys.K)) {
prefixSeen = true;
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
}


اینم برای نگه داشتن:
https://stackoverflow.com/questions/973721/c-sharp-detecting-if-the-shift-key-is-held-when-opening-a-context-menu