PDA

View Full Version : سوال: keyDown در فرم



خانم گل
چهارشنبه 16 مرداد 1387, 01:53 صبح
سلام دوستان. چطوري ميتونم رويداد keydown فرمم رو وقتي توي يكي از كنترلهاي فرم هستم فعال كنم؟

tthenry14plus
چهارشنبه 16 مرداد 1387, 02:57 صبح
اگر منظورتونو درست متوجه شده باشم این جوابشه:


this.KeyDown += new KeyEventHandler(Form1_KeyDown);

خانم گل
چهارشنبه 16 مرداد 1387, 14:14 عصر
خوب! منظورمو خوب متوجه نشديد. منظورم اينه كه مهم نيست كه توي چه كنترلي از فرم هستيم مثلا توي يكي از textbox هاي فرم هستيم. من مي خوام با زدن مثلا دكمه insert يه كار خاصي انجام بدم. خوب مگه نبايد دستورات رو توي keydown فرمم بنويسيم؟ خوب اگه توي يكي از كنترلها باشم اين رويداد عمل نميكنه. چي كار كنم؟

نهمنهح
چهارشنبه 16 مرداد 1387, 15:26 عصر
خوب KeyDown کنترلهات رو وصل کن به KeyDown فرمت تا در هر کنترلی که بودی KeyDown فرمت اجرا بشه

tthenry14plus
چهارشنبه 16 مرداد 1387, 15:43 عصر
خوب یه رویداد کلی برای فشرده شدن کلید Ovveride کنید:


protectedoverridebool ProcessDialogKey(Keys keyData)
{
switch (keyData)
{
case Keys.Escape:
. . .
break;
case Keys.Enter:
. . .
break;
case Keys.Insert:
. . .
break;
}
returnbase.ProcessDialogKey(keyData);
}

ASKaffash
چهارشنبه 16 مرداد 1387, 17:35 عصر
خوب! منظورمو خوب متوجه نشديد. منظورم اينه كه مهم نيست كه توي چه كنترلي از فرم هستيم مثلا توي يكي از textbox هاي فرم هستيم. من مي خوام با زدن مثلا دكمه insert يه كار خاصي انجام بدم. خوب مگه نبايد دستورات رو توي keydown فرمم بنويسيم؟ خوب اگه توي يكي از كنترلها باشم اين رويداد عمل نميكنه. چي كار كنم؟

سلام
بله با فرض اینکه خاصیت KeyPreview فرم را true کرده باشید اینطوری اول Keydown فرم اجرا میشود