نمایش نتایج 1 تا 4 از 4

نام تاپیک: تفاوت رویداد های کنترل دکمه در 4 رویداد PreviewKeyDown و KeyPress و KeyDown و KeyUp

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار habibb
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    قُلْ هُوَ اللَّهُ أَحَدٌ
    پست
    423

    Lightbulb تفاوت رویداد های کنترل دکمه در 4 رویداد PreviewKeyDown و KeyPress و KeyDown و KeyUp

    سلام.

    اگر دکمه ای بر روی فرم قرار دهیم و بخواهیم تفاوت اجرای این 4 رویداد ( PreviewKeyDown و KeyPress و KeyDown و KeyUp) را در هنگام زدن دکمه های صفحه کلید با هم مقایسه کنیم .
    به این نتایج می رسیم

    فقط دکمه های زیر رویداد KeyPress را اجرا می کنند
    ولی بقیه ی رویداد ها را اجرا نمی کنند!؟!چرا؟
    دکمه ها عبارتند از : 1 2 3 4 5 6 7 8 9 0 (اعداد بالای حروف نه قسمت ماشین حسابی) و فاصلهSpace
    و q w e r t y u i o p [ ] ` a s d f g h j k l ; ' z x c v b n m , . / \

    حالا دکمه هایی که چند رویداد رو با هم به ترتیب زیر اجرا می کنند بازم چرا؟
    به ترتیب عبارتند از : PreviewKeyDown و KeyPress و KeyDown

    این دکمه ها دکمه های قسمت ماشین حسابی صفحه کلید می باشند بجز Enter همچنین BackSpace هم هست!

    حالا دکمه هایی هستند که به ترتیب PreviewKeyDown و KeyDown را اجرا می کنند؟ بازم چرا؟
    عبارتند از : Shift Control Alt Capslock Delete End PageUp PageDown Home End و دکمه های سوئیچ F ها

    دکمه هایی هم هستند که فقط رویداد PreviewKeyDown را اجرا می کنند
    که عبارتند از : هر دو Enter موجود در صفحه کلید و دکمه های ArrowKeys و Escape

    حالا سوال تناقض در تعریف این رویداد ها ست؟ نظرتان چیست ؟ آیا این رویداد ها در تمام ویندوز ها این گونه هستند؟

    طبق تعریف ؟ اگر کلیدی فشرده شود باید این 4 رویداد همه اتفاق افتند؟
    در ضمن منابعی ذکر کنید در این مورد

    متشکرم


    private void button1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
    MessageBox.Show("button1_PreviewKeyDown");
    }
    private void button1_KeyPress(object sender, KeyPressEventArgs e)
    {
    MessageBox.Show("button1_KeyPress");
    }

    private void button1_KeyDown(object sender, KeyEventArgs e)
    {
    MessageBox.Show("button1_KeyDown");
    }

    private void button1_KeyUp(object sender, KeyEventArgs e)
    {
    MessageBox.Show("button1_KeyUp");
    }


    http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx

    http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx
    آخرین ویرایش به وسیله habibb : یک شنبه 01 دی 1392 در 22:48 عصر دلیل: درج منابع جدید

تاپیک های مشابه

  1. پاسخ: 2
    آخرین پست: جمعه 13 مرداد 1391, 15:36 عصر
  2. پاسخ: 0
    آخرین پست: چهارشنبه 19 مرداد 1390, 22:07 عصر
  3. پاسخ: 6
    آخرین پست: سه شنبه 21 تیر 1390, 16:53 عصر
  4. پاسخ: 3
    آخرین پست: سه شنبه 27 اردیبهشت 1390, 18:11 عصر
  5. رویداد مربوط به دکمه های تابع Input Box
    نوشته شده توسط ehsan-ets در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: سه شنبه 21 مرداد 1382, 13:33 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •