PDA

View Full Version : سوال: تشخیص کلید در c#



seydali
چهارشنبه 16 مرداد 1387, 09:56 صبح
من می خوام وقتی کهctrl+alt+M را در c# فشار می دهم یک چنجره را باز کنم .
لطفاً راهنمایی کنید.

نهمنهح
چهارشنبه 16 مرداد 1387, 11:20 صبح
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar.ToString().ToLower()=="m")
{
Form2 objForm = new Form2();
objForm.Show();
}
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.Alt)
KeyPress +=new KeyPressEventHandler(Form1_KeyPress);
}
نخست ctrlوalt رو با هم بزن بعد ولشون کن و m رو بزن

meitti
پنج شنبه 17 مرداد 1387, 08:09 صبح
سلام
اگه خواستم برای ثبت کلیدf12 را فشار بدم تا عملیات ثبت را انجام بده یا اینتر را فشار بدم تا عملیات ویرایش را انجام بده چیکار باید انجام بدم

نهمنهح
پنج شنبه 17 مرداد 1387, 10:11 صبح
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.F12)
{
// عملیات ثبت
}
else if (e.KeyData == Keys.Enter)
{
// عملیات ویرایش
}
}

نهمنهح
پنج شنبه 17 مرداد 1387, 10:15 صبح
protected override bool ProcessDialogKey(Keys keyData)
{
switch (keyData)
{
case Keys.Escape:
. . .
break;
case Keys.Enter:
. . .
break;
case Keys.Insert:
. . .
break;
}
returnbase.ProcessDialogKey(keyData);
}
منبع : tthenry14plus (http://barnamenevis.org/forum/member.php?u=43949)

seydali
شنبه 19 مرداد 1387, 09:48 صبح
من می خوام وقتی که برنامه به صورت یک سرویس اجرا می شود و وقتی من ctrl+alt+m را فشار می دهم یک فرم باز شود نه این که از ثرثدف های روی فرم برای صفحه کلید استفاده کنم.در واقع چیزی که وقتی این سه کلید را فشار دهم به صورت خودکار تشخیص دهد.

نهمنهح
یک شنبه 20 مرداد 1387, 16:10 عصر
اگه خاصیت KeyPreview فرم رو True کنید نخست KeyPress فرم اجرا میشود فارغ از اینکه Focus روی کدام شی است
منبع : barnamenevis.org