برسی رویداد Keypress در C#

KeyPress در C#

این رویداد زمانی اجرا میشود که کاربر در داخل TextBox کلیک کند. باید برخی از نکات مهم را پیش از شروع یک مثال واقعی درک کنید.حال برای درک بهتر این رویداد با من در ادامه ی مطلب همراه باشید .

رویداد KeyPress در C#

۱ – e.Keychar یک Property است که کاراکتر های وارد شده توسط کیبورد را ذخیره میکند. زمانی که یک کلید زده میشود ، آن کاراکتر تحت شئ e در یک Property با نام Keychar ذخیره میشود و در انتهای رویداد keypress کاراکتر در داخل TextBox نمایش داده میشود.

۲ – e.Handled یک Property است که true تعریف شده است و کاراکتر را از Property پاک میکند.

KeyPress در C#

Indexof() : شماره ی index اولین وقوع حرف موردنظر در رشته را بازمیگرداند.

یادداشت :

اگر کاراکتر در آن رشته وجود نداشت -۱ بازمیگرداند.

Example1 :

Form8.cs[Design]

KeyPress در C#

Form8.cs (فایل Code Behind)

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)   
{   
string st = "0123456789"+(char)8;   
if(st.IndexOf(e.KeyChar)==-1)   
{   
MessageBox.Show("سلام تست میکنم");   
e.Handled = true;   
}   
}  

 یادداشت :

مقدار ASCII کلید Backspace برابر ۸ میباشد. در کیبورد های ما ، هر کلید دارای یک مقدار ASCII است ، اما به خاطر سپردن تک تک آنها بسیار سخت است.

مایکروسافت کلاسی بنام keys را معرفی کرده است. با استفاده از کلاس Key میتوانید به راحتی مقدار ASCII را تشخیص دهید.

 Example 2:

(همان مثال یالا اما در اینجا من از یک تابع از پیش آماده استفاده میکنم)

مایکروسافت یک تابع از پیش تعریف شده بنام IsDigit() ارائه داده است. با استفاده از این تابع میتوانید به راحتی داده را معتبر کنید ؛ چه رقم وارد شده باشد و چه نشده باشد.

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)   
{   
if (!(Char.IsDigit(e.KeyChar) || (e.KeyChar == (char)Keys.Back)))   
{   
MessageBox.Show("سلام تست میکنم");   
e.Handled = true;   
}   
}  

ممنون از شما برای خواندن این مقاله
نظراتتون رو با من درمیون بگذارید.

موفق باشید.

  • پسورد: www.mspsoft.com
داریوش فرخی

داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    جواد پاسخ

    ممنون از اینکه بیان کردید که هر کدام از نام های استفاده شده مربوط به چه بخشی میشوند و کارشان چیست.