PDA

View Full Version : اجرا نشدن قسمتی از رویداد keydown فرم



saeedhushmand
دوشنبه 13 شهریور 1391, 12:40 عصر
دوستان من کد زیر در رویداد keyDown فرمم نوشتم اما فقط حلقه دوم اون کار می کنه 3 حلقه دیگر با زدن کنترل های مربوط به ان کار نمی کنه اشکال از کجاست
با زدن Space فرم مربوط به ان باز می شه اما با زدن Ctrl + Down و Alt و Alt + Up هیچ عملی رخ نمی ده


privatevoid Acc_ArtiklSanad_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode == Keys.Control) && (ColumnSel == "CodeHesab") && (e.KeyCode == Keys.Down))
{
Forms.TarikhcheVaMacro.TarikhcheHesab frm = new TarikhcheVaMacro.TarikhcheHesab();
frm.ShowDialog();
}
else
if ((e.KeyCode == Keys.Space) && (ColumnSel == "CodeHesab"))
{
Forms.Acc_FilterHesab frm = newAcc_FilterHesab();
frm.ShowDialog();
}
else
if (e.KeyCode == Keys.Alt)
{
Forms.TarikhcheVaMacro.Macro frm = new TarikhcheVaMacro.Macro();
frm.ShowDialog();
}
else
if ((e.KeyCode == Keys.Alt) && (ColumnSel == "CodeHesab") && (e.KeyCode == Keys.Up))
{
Forms.TarikhcheVaMacro.Macro frm = new TarikhcheVaMacro.Macro();
frm.ShowDialog();
}
}

KeyPreview هم true هستش

لطفا کمک کنید...

saeedhushmand
دوشنبه 13 شهریور 1391, 12:47 عصر
دوستان اگر به جای Alt و Ctrl حروف انگلیسی بزارم کار می کنه چند تا کنترل مثل Alt ,Ctrl ,Down , Up, Enter عمل نمی کنه

saeedhushmand
دوشنبه 13 شهریور 1391, 13:02 عصر
یکی در http://stackoverflow.com/questions/1265634/keydown-recognizing-multiple-keys
مشکلی مثل مشکل من داشت یکی پاسخ زیر رو داده بود من امتحان کردم درست بود و کار می کرد
لطفا کسی اگر می تونه درباره کد زیر توضیح بده

if (e.KeyCode == Keys.Down && (ModifierKeys & Keys.Alt) == Keys.Alt)
{
Forms.TarikhcheVaMacro.Macro frm = new TarikhcheVaMacro.Macro();
frm.ShowDialog();
}

harani
سه شنبه 14 شهریور 1391, 15:00 عصر
من خودم یادمه که این ایرادو داشتم یادمه که برای control و Shift و Alt باید به این صورت میوشتی :


if (e.Shift && e.KeyCode == Keys.Down)//a
{
//Press Shift + Down
}

if (e.Control && e.Alt && e.KeyCode == Keys.Down)//a
{
//Press Control + Alt + Down
}