SajjadKhati
کاربر فعال <A href="http://forum.majidonline.com/f
سلام
ممنون
استاد علی ، در رویداد KeyDown فرم ، همونطور که در پست های قبل بررسی کردیم ، کد زیر مشکلی نداره :
شما گفته بودین که چون KeyData ، ترکیبی از کلیدهای فشرده شده رو ذخیره میکنه ، باید هر دو مقدار رو مثل بالا چک کرد
ولی اگه بخوایم بصورت ترکیبی با کلید A چک کنیم (Ctrl+A) ، پس چرا کد زیر مشکل داره؟ :
و فقط بصورت زیر کار میکنه؟ :
مشکل کد دوم کجاست؟
کد زیر :
هم بخاطر این کار نمیکنه که وقتی کلید control فشرده میشه ، داخل e.KeyCode ، مقدار Keys.Control قرار میگیره و دیگه منتظر فشرده شدن دکمه ی A نمیمونه که مقدارش برابر Keys.A بشه؟
ممنون
استاد علی ، در رویداد KeyDown فرم ، همونطور که در پست های قبل بررسی کردیم ، کد زیر مشکلی نداره :
کد:
if (e.KeyData == (Keys.Control | Keys.ControlKey))
{
MessageBox.Show("");
}
شما گفته بودین که چون KeyData ، ترکیبی از کلیدهای فشرده شده رو ذخیره میکنه ، باید هر دو مقدار رو مثل بالا چک کرد
ولی اگه بخوایم بصورت ترکیبی با کلید A چک کنیم (Ctrl+A) ، پس چرا کد زیر مشکل داره؟ :
کد:
if (e.KeyData == (Keys.Control | Keys.ControlKey | Keys.A))
{
MessageBox.Show("");
}
و فقط بصورت زیر کار میکنه؟ :
کد:
if (e.KeyData == (Keys.Control | Keys.A))
{
MessageBox.Show("");
}
مشکل کد دوم کجاست؟
کد زیر :
کد:
if ((e.KeyData == (Keys.Control | Keys.ControlKey)) & e.KeyCode == Keys.A)
{
MessageBox.Show("");
}
هم بخاطر این کار نمیکنه که وقتی کلید control فشرده میشه ، داخل e.KeyCode ، مقدار Keys.Control قرار میگیره و دیگه منتظر فشرده شدن دکمه ی A نمیمونه که مقدارش برابر Keys.A بشه؟