PDA

View Full Version : KeyPress



mohsen.dbnet
شنبه 03 مهر 1389, 12:31 عصر
سلام دوستان

هدفم از استفاده از این Event این هست که بفهمم کاربر کدوم کلیدو فشار داده باید چی کار کنم؟

Reza_Yarahmadi
شنبه 03 مهر 1389, 13:25 عصر
براي كاري كه شما ميخوايد بايد از رويداد KeyDown و خاصيت KeyCode استفاده كنيد.
رويداد KeyPress به زبان كيبورد وابسته است.

ACorvinus
شنبه 03 مهر 1389, 13:32 عصر
سلام.

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show(char.ConvertFromUtf32(e.KeyValue)) ;
}

موفق باشی.

Encomp_Amini
شنبه 03 مهر 1389, 14:25 عصر
در این رویداد e.KeyChar کد اسکی کاراکتر ورودی را بر می گرداند که با استفاده از آن می توانید کاراکتر های ورودی را مدیریت نمایید.
مثلا یک Textbox دارید که می خواهید فقط عدد در آن وارد نمایید قطعه کد زیر این کار را برای شما انجام می دهد:


if (Char.IsNumber(e.KeyChar))
e.Handled = false;
else
e.Handled = true;


حال اگر عددی را به فرض اشتباه وارد کرده باشید با وجود کد بالا در رویداد KeyPress این Textbox نمی توانید از Backspace استفاده کنید که با تغییر کد بالا به کد زیر این امکان برایتان فراهم می شود:


if (Char.IsNumber(e.KeyChar) == false)
if (e.KeyChar == Convert.ToChar(8))//BackSpace
e.Handled = false;

else
e.Handled = true;