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

نام تاپیک: حركت با اينتر به جاي tab

  1. #1

    Question حركت با اينتر به جاي tab

    سلام
    من ميخوام به جاي استفاده از دكمه tab از اينتر براي حركت در textbox ها استفاده كنم اگر امكان داره لطفا منو راهنمايي كنيد.

  2. #2

    نقل قول: حركت با اينتر به جاي tab

    توی Key_Down باید اینو بنویسی :
    If (Key.keyCode==Keys.Enter)

    بعد داخلش کدهای مربوطه رو بنویسی .
    موفق باشید .


    استخدام برنامه نویس دات نت (Asp.net,C#‎‎‎‎,jquery,...)
    ترجیحا خراسان شمالی ، بجنورد
    به صورت پاره وقت و تمام وقت

    ارسال اطلاعات و رزومه کاری به Job@tosa.ir

  3. #3

    نقل قول: حركت با اينتر به جاي tab

    دوست عزیز قبل از تاپیک زدن، یه سرچی بکنید ببینید مطلبتون مثلش هست یا نه.

    این بحث بار ها مطرح شده. کافیه در رویداد KeyPress بگید اگر e.KeyChar برابر با (Enter(\r\n بود، به کنترل بعدی برود.
    آخرین ویرایش به وسیله h.jaza : چهارشنبه 03 مهر 1387 در 21:19 عصر

  4. #4
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    اصفهان-تهران
    پست
    212

    نقل قول: حركت با اينتر به جاي tab

    برای هر textbox کد زیر را وارد کن
    مثلا اگر 2 تا textbox در بر نامه داری برای textbox اولی کد:


    privatevoid textBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyValue == 13)
    textBox2.Focus();
    }







    و برای دومی کد زیر

    privatevoid textBox2_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyValue == 13)
    textBox1.Focus();
    }




    ----------
    کدی که من نوشتم برا مواقعی خوبه که تعداد textbox ها کم باشه
    اگه تعدادشون زیاد باشه کدنویسی برا همشون مشکل و زیاد میشه
    کد شماره 5 واقعا کامل هست
    آخرین ویرایش به وسیله mary3541 : چهارشنبه 03 مهر 1387 در 21:49 عصر

  5. #5
    کاربر دائمی آواتار RED-C0DE
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    31 4E 20 20 54 48 33 20 20 28 72 59 70 54 30 47 33 4E 31 28 20 20 5C 2F 30 52 31 7C 7C 29 20 20 7C 2
    پست
    551

    نقل قول: حركت با اينتر به جاي tab

    می تونی توی رویداد
    KeyDown
    مربوط به کنترل TextBox اِت به اینصورت بنویسی:


    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if(e.KeyCode== Keys.Enter)
    SendKeys.Send("{TAB}");
    }


  6. #6
    کاربر دائمی آواتار hana2064
    تاریخ عضویت
    تیر 1387
    محل زندگی
    یه جای خوش اب و هوا
    پست
    129

    نقل قول: حركت با اينتر به جاي tab

    می تونی در رویداد keydown مربوط به فرم اصلی ک

    if
    (e.KeyCode == Keys.Enter)
    SendKeys.Send("{TAB}");

    بنویسی البته قبلش باید خاصیت keypreview رو true کنی و همه کنترلها رو توسط tab order در منوی view مرتبشون کنی

  7. #7

    نقل قول: حركت با اينتر به جاي tab

    شما باید از یکی از دو کد زیر استفاده بکنید.(یکی Comment شده) ولی ترجیحا از کد اصلی (بدون Comment) استفاده شود چرا که اگر شما تعداد زیادی تکست باکس داشته باشین که بخواهید با اینتر زدن روی هر کدوم به کنترل بعدی برین، خیلی کد نویسیش زیاد و دردسر آفرینه. بهترین کار اینکه این کدو در یکی از تکست باکس ها بنویسید و بعد ...



    ... خیلی ساده رویداد KeyDown باقی تکست باکس رو به این رویداد لینک میدین:



    اینجوری دیگه نیازی به کد نویسی جداگانه برای هر تکست باکس نیست.

  8. #8
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639

    نقل قول: حركت با اينتر به جاي tab

    این کد رو تو Form_Load بنویس:

    Action<Control> checkControl = null;
    checkControl = delegate(Control control)
    {
    if (control is TextBox)
    (control as TextBox).KeyDown += delegate(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Enter)
    SendKeys.Send("{TAB}");
    };
    else
    foreach (Control subControl in control.Controls)
    checkControl(subControl);
    };
    checkControl(this);

  9. #9
    کاربر تازه وارد آواتار StepUp360
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    پایتخت معنوی
    پست
    60

    نقل قول: حركت با اينتر به جاي tab

    سلام من از کدی که دوست عزیزمون آقای mohammad272005 گفته بودن استفاده کردم اما توی این قسمت error میده:

    (control as TextBox).KeyDown += delegate(object sender, KeyEventArgs e)


    که Error! این هستش:

    Error 1 A local variable named 'e' cannot be declared in this scope because it would give a different meaning to 'e', which is already used in a 'parent or current' scope to denote something else

    لطفا راهنمایی بفرمایید که ایراد کار من کجاست؟ و چطور رفعش کنم، ممنون.

  10. #10
    کاربر تازه وارد آواتار akarsu
    تاریخ عضویت
    فروردین 1389
    پست
    78

    نقل قول: حركت با اينتر به جاي tab

    این تو کدهای فرمت بنداز (خارج از form_load)
            protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
    if (msg.Msg == 256 && keyData == System.Windows.Forms.Keys.Enter)
    {
    // Execute an alternative action: here we tabulate in order to focus on the next control in the formular
    if (this.ActiveControl.ToString().Contains("GlassButt on"))
    // GlassButton.UserControl1
    return base.ProcessCmdKey(ref msg, keyData);
    else
    {
    System.Windows.Forms.SendKeys.Send("{TAB}");

    // return true to stop any further interpretation of this key action
    return true;
    }

    }
    return base.ProcessCmdKey(ref msg, keyData);
    }

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

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