Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Xử lý sự kiện nhập phím (KeyPress) cho textbox trong WinForms

  1. #1
    Ngày gia nhập
    10 2011
    Nơi ở
    TP.HCM
    Bài viết
    115

    Question Xử lý sự kiện nhập phím (KeyPress) cho textbox trong WinForms

    Trong Winforms.Khi nhập dữ liệu cho một control xong, người dùng muốn chuyển qua control tiếp theo để nhập dữ liệu thì phải nhấn phím “tab” để chuyển focus sang control kế tiếp.Tuy nhiên, đối với nhiều người dùng, họ lại quen với thao tác nhấn phím “Enter” chuyển qua control tiếp theo.VẬy làm sao để khi nhập vào dữ liệu vào ô Textbox,mình nhấn "Enter" nó sẽ chuyển sag Textbox kế tiếp.Cả nhà giúp em với.
    THIẾT KẾ WEBSITE CHUẨN SEO - GIÁ RẺ - CHẤT LƯỢNG - UY TÍN : webdepgiasoc.com

  2. #2
    Ngày gia nhập
    02 2010
    Bài viết
    15

    Dùng hàm xử lí bàn phím đi bạn

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    149

    Visual C# Code:
    1.   private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    2.         {
    3.             if (e.KeyChar == 13)
    4.             {
    5.                 MessageBox.Show("you press enter then this focus to textbox2");
    6.                 textBox2.Focus();
    7.             }
    8.         }
    Sharing for success!

  4. #4
    Ngày gia nhập
    10 2011
    Nơi ở
    TP.HCM
    Bài viết
    115

    Trích dẫn Nguyên bản được gửi bởi angeltrongminh Xem bài viết
    Visual C# Code:
    1.   private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    2.         {
    3.             if (e.KeyChar == 13)
    4.             {
    5.                 MessageBox.Show("you press enter then this focus to textbox2");
    6.                 textBox2.Focus();
    7.             }
    8.         }
    Bạn ơi bạn có thể giải thích cho mình đoạn code này đc koh? Mình nhấp đúp vào textbox1 nó chỉ hiện:
    private void textBox1_Click(object sender,EventArgs e) Chứ ko có KeyPress là sao hả bạn???
    Đã được chỉnh sửa lần cuối bởi namnguyen1251 : 14-11-2011 lúc 10:03 PM.
    THIẾT KẾ WEBSITE CHUẨN SEO - GIÁ RẺ - CHẤT LƯỢNG - UY TÍN : webdepgiasoc.com

  5. #5
    Ngày gia nhập
    03 2009
    Bài viết
    149

    vui lòng xem file đính kèm bài viết này
    Attached Thumbnails Attached Thumbnails keypress.png  
    Sharing for success!

  6. #6
    Ngày gia nhập
    10 2011
    Nơi ở
    TP.HCM
    Bài viết
    115

    Mặc định Xử lý sự kiện nhập phím (KeyPress) cho textbox trong WinForms

    Cám ơn bạn nhiều lắm.Mới vào nghề nên còn gà wá.
    THIẾT KẾ WEBSITE CHUẨN SEO - GIÁ RẺ - CHẤT LƯỢNG - UY TÍN : webdepgiasoc.com

  7. #7
    Ngày gia nhập
    06 2010
    Bài viết
    2

    Trích dẫn Nguyên bản được gửi bởi angeltrongminh Xem bài viết
    Visual C# Code:
    1.   private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    2.         {
    3.             if (e.KeyChar == 13)
    4.             {
    5.                 MessageBox.Show("you press enter then this focus to textbox2");
    6.                 textBox2.Focus();
    7.             }
    8.         }
    Xin lỗi đã đào topic này lên. Nhưng có 1 chỗ em thắc mắc là nếu có 'n' Button và mỗi cái có tên khác nhau thì dùng cách trên sẽ ko đc. Vậy trong trường hợp đó ta phải xử lý ra sao?

  8. #8
    Ngày gia nhập
    10 2012
    Bài viết
    204

    chạy vòng lặp, lấy ra những control là textbox và tạo sự kiện keypress cho các control này là ok

  9. #9
    Ngày gia nhập
    06 2010
    Bài viết
    2

    Đây là cách em làm, tại vì bấm enter để qua textbox tiếp theo nên em viết chung sự kiện cho tất cả các textbox em có. Và kết quả là bấm hoài mà nó ko nhảy xuống textbox tiếp theo.
    Em cũng đã thử dùng txt.TabIndex += 1, debug thấy Index tăng nhưng con trỏ vẫn ở textbox đầu tiên.
    Visual C# Code:
    1. //Viết trong sự kiện keypress như sau:
    2.  
    3.             TextBox txt = (TextBox)sender;
    4.             if (e.KeyChar == 13)
    5.             {
    6.                 foreach (Control ctr in this.Controls)
    7.                 {
    8.                     if (ctr is TextBox)
    9.                     {
    10.                         txt.Focus();
    11.                     }
    12.                 }                
    13.             }
    Đã được chỉnh sửa lần cuối bởi htpcomputer : 17-10-2012 lúc 10:37 AM.

  10. #10
    Ngày gia nhập
    10 2012
    Bài viết
    204

    ko phải, khi bạn đã kéo các textbox vào, bạn viết dưới dòng InitializeComponent(); với những gì tôi nói ở trên. Còn cái bạn làm là bạn đang xử lý event cho 1 textbox cụ thể, sai rồi

Các đề tài tương tự

  1. Cách Add Dữ Liệu vào DataGridView trong C#(WinForms)
    Gửi bởi namnguyen1251 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 11
    Bài viết cuối: 26-10-2016, 01:20 AM
  2. Xác định phím Delete được nhấn trong sự kiện KeyPress C#?
    Gửi bởi 8xhamhoc trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 14-04-2013, 02:13 AM
  3. Gắn điều kiện khi nhập DateTime cho Control DateTimePicker trong WinForms C#
    Gửi bởi namnguyen1251 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 25-11-2011, 10:57 PM
  4. Cách bắt sự kiện Keypress trong C#?
    Gửi bởi DNguyen.ND trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 16-09-2010, 07:00 PM
  5. Nhập và xuất text trong winforms.
    Gửi bởi nhthinh00 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 21-02-2010, 06:27 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn