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ố 15 kết quả

Đề tài: Cách bắt sự kiện của textbox (C#)

  1. #1
    Ngày gia nhập
    04 2007
    Bài viết
    21

    Mặc định Cách bắt sự kiện của textbox (C#)

    Mình có 1 TextBox mình muốn bắt sự kiện khi nhập dữ liệu và nhấn phím Enter thì xảy ra 1 sự kiện đó. Ví dụ nhập dữ liệu vào TextBox và nhấn Enter thì hiển thị lên 1 thông báo ..
    Ai biết xin chỉ giùm với
    Xin chân thành cảm ơn

  2. #2
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Bạn sử dụng hàm sau:
    Visual C# Code:
    1. //Giả sử bạn bắt sự kiện của textbox1
    2.         private void textBox1_KeyDown(object sender, KeyEventArgs e)
    3.         {
    4.             if (e.KeyCode == Keys.Enter)
    5.             {
    6.                 //Bạn muốn làm gì thì làm
    7.             }
    8.         }
    Không biết ghi gì luôn ...

  3. #3
    Ngày gia nhập
    04 2007
    Bài viết
    21

    OK ! Cảm ơn Forlorn_hope

  4. #4
    Ngày gia nhập
    10 2008
    Bài viết
    5

    Mình muốn hỏi thêm 1 chút nữa, đó là khi mình dùng textbox để nhập vào 1 số, nhưng nhập nhiều lần, ví dụ:
    1. Nhập vào 1 số rồi ấn Enter thì sẽ nhận giá trì đó, rồi làm gì thì làm (cái này đã trả lời rùi)
    2. Khi nhập 1 số, nhưng nhập sai, ví dụ muốn nhập số 99, nhưng đánh nhầm 98, thì mịnh ấn BackSpace, sau đó nhập lại chẳng hạn. Nhưng khi làm như vậy thì biến textBox1.Text đã nhận luôn phím BackSpace, nên lệnh convert sang 1 biến Int sẽ báo lỗi:
    Code:
    Int tmpInt;
    tmpInt = Convert.ToInt32(textBox1.Text); // Lỗi, vì có phím BackSpace
    3. Và lập lại vòn lập cho đến khi nào ... nhập vào dấu trừ chẳng hạn .

    Mấy cái 1,3 thì mình cũng đang còn cái 2 thì chưa nghĩ ra, bạn nào biết chỉ dùm nha, cám ơn nhiều

  5. #5
    Ngày gia nhập
    10 2008
    Bài viết
    5

    ủa, sao mình không có biến e.KeyCode vậy Forlorn_hope, đánh e. rồi Ctrl+Space không thấy hiện lên KeyCode, dùng nó cũng báo lỗi nữa:(.
    Hic, mới bắt đầu học, có hỏi noob quá xin đừng la nha:(

  6. #6
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Mặc định Cách bắt sự kiện của textbox (C#)

    Qua 2 câu hỏi của bạn mình thấy có gì đó không ổn ở bạn?

    Trích dẫn Nguyên bản được gửi bởi tmt1001
    Int tmpInt;
    tmpInt = Convert.ToInt32(textBox1.Text); // Lỗi, vì có phím BackSpace
    Không hề có lỗi, bởi vì không bao giờ có ký tự BackSpace mà chỉ có mã KeyCode BackSpace.

    Trích dẫn Nguyên bản được gửi bởi tmt1001
    ủa, sao mình không có biến e.KeyCode vậy Forlorn_hope, đánh e. rồi Ctrl+Space không thấy hiện lên KeyCode, dùng nó cũng báo lỗi nữa:(.
    Hic, mới bắt đầu học, có hỏi noob quá xin đừng la nha:(
    Cái này bạn cần xem lại cách sử dụng Visual Studio để tạo 1 event trên C#.

  7. #7
    Ngày gia nhập
    10 2008
    Bài viết
    5

    Uhm, đúng rồi, chắc tại mình nói khó hiểu quá á. Cái
    Code:
    Int tmpInt;
    tmpInt = Convert.ToInt32(textBox1.Text); // Lỗi, vì có phím BackSpace
    mình gặp cái mã của BackSpace ấy, nhưng chưa biết cách nào để khắc phục :(.

  8. #8
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Đoạn code trên chỉ xảy ra lỗi khi textBox1.text là một chuỗi ký tự không thể chuyển về số mà thôi ví dụ như "abcd". Có thể dùng try catch để xử lý chỗ này.

    Còn việc ký tự BackSpace thì mình chưa thấy có nó trong mã ASCII lẫn Unicode.

    Bây giờ bạn chụp màn hình lỗi của bạn post lên đây thì mọi người sẽ giải quyết. Chứ chưa biết hư thực như thế nào? Không kéo hỏi một đằng rồi trả lời một nẻo.

  9. #9
    Ngày gia nhập
    10 2008
    Bài viết
    5

    Thanks Coder 87 nhiều nha, mình đưa cả code và Design lên để bạn và mọi người xem nha.
    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace ErrorEx
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                int tmpvalue = int.Parse(textBox1.Text);
    
                if(tmpvalue<=trackBar1.Maximum && tmpvalue >= trackBar1.Minimum)
                    trackBar1.Value = int.Parse(textBox1.Text);
                else
                {
                    MessageBox.Show("Ngoai vung phu song :P");
                }
            }
        }
    }
    Attached Thumbnails Attached Thumbnails desing.JPG   TypeError.JPG  
    Đã được chỉnh sửa lần cuối bởi tmt1001 : 05-11-2008 lúc 12:02 PM. Lý do: Ý chà, quen cái hình báo lỗi :)

  10. #10
    Ngày gia nhập
    06 2007
    Nơi ở
    Hà Nội
    Bài viết
    361

    nghiên cứu tryparse nhé
    Blog tổng quan kiến thức về viễn thông : http://tongquanvienthong.blogspot.com/

    mSPDict từ điển android hỗ trợ liên kết tra trên các trình đọc sách điện tử và tra sách giấy thông qua camera
    http://www.tinhte.vn/threads/691731/

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

  1. Tự động load giá trị vào textbox sau khi chuyển con trỏ sang textbox đó
    Gửi bởi kiencit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 14
    Bài viết cuối: 15-04-2013, 10:57 AM
  2. [Hỏi] cách chuyển các phần tử của textBox này sang textBox khác theo thứ tự.
    Gửi bởi code_c trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 10
    Bài viết cuối: 22-09-2012, 04:40 PM
  3. Trả lời: 14
    Bài viết cuối: 10-10-2011, 03:58 PM
  4. tạo 1 textbox trong girdview nhưng khi vào code sao không gọi tên textbox đó được
    Gửi bởi thuan trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 6
    Bài viết cuối: 13-09-2011, 06:44 PM
  5. Khi đánh giá trị vào textbox thì sẽ load giá trị trong table ra textbox
    Gửi bởi suzuke169 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 03-08-2011, 01:07 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