Announcement

Collapse
No announcement yet.

Hỏi cách bắt sự kiện kiểm tra giá trị trong textbox.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by 09520133 View Post
    Code:
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)        {
                char c = e.KeyChar; //nhan ki tu vua nhap
                if (char.IsDigit(c) == true) // neu ki tu vua nhap la 1 so
                {
                    int i = Convert.ToInt32(c.ToString()); // chuyen 1 ki tu sang so nguyen
                    if (i < 3)
                    {
                        e.Handled = true; //xoa ki tu sai.
                        MessageBox.Show("loi nhap sai");
                    }
                }
                else
                {
                    e.Handled = true; //xoa ki tu sai.
                    MessageBox.Show("loi nhap sai");
                }
            }
    theo anh biết thì e.Handled = true; là khóa sự kiện keypress chứ không phải là xóa số, nếu muốn xóa thì đơn giản em chỉ cần gán textBox1.Text="";

    code của em nếu làm thêm chút thì sẽ khắc phục đc việc nhập chữ (Tức là chỉ cho nhập số)
    còn trong trường hợp này thì như anh nói phía trên

    hình như đang có chiến tranh. hì hì, đoạn code của em đã khắc phục được việc nhập chữ rồi, không cần sửa. em làm theo đúng yêu cầu đưa ra, còn nếu muốn theo ý anh thì chỉ việc xóa câu lệnh messageBox.Show() là được. còn chuyện xóa kí tự nếu làm theo cách a là
    this.textBox.Text="" thì chẳng phải là xóa hết cả textBox rồi còn gì. ở đây chỉ cần xóa kí tự nhập sai thui mà.

    Comment


    • #17
      Originally posted by 11520327 View Post
      hình như đang có chiến tranh. hì hì, đoạn code của em đã khắc phục được việc nhập chữ rồi, không cần sửa. em làm theo đúng yêu cầu đưa ra, còn nếu muốn theo ý anh thì chỉ việc xóa câu lệnh messageBox.Show() là được. còn chuyện xóa kí tự nếu làm theo cách a là
      this.textBox.Text="" thì chẳng phải là xóa hết cả textBox rồi còn gì. ở đây chỉ cần xóa kí tự nhập sai thui mà.
      tùy vào cách lập trình của mỗi người thôi em. như anh thì thích nhập sai cái, có nhấn ok hay gì đó thì nó focus vào cái textbox cần sửa thôi (Bôi đen đoạn text có sẵn). cò chủ thớt muốn kiểm tra luôn trong lúc nhập thì anh làm vậy
      anh nghĩ em chưa hiểu đúng ý của chủ thớt!
      Originally posted by htc View Post
      em chỉ muốn cho nhập số tự nhiên >=2 thì phải làm sao
      cho anh hỏi đoạn code của em có nhập đc các số dạng như số 12 không (Dạng số có số 1 hoặc số 2 đứng đầu tiến ấy)? hoặc như số 31 (số 31 rõ dàng là số tự nhiên lớn hơn 2)

      à. có chỗ chủ thớt nói "cứ sau dấu nháy trong textbox để ta bắt đầu nhập giá trị mà ta nhập vào số<=2 thì nó báo lỗi ngay.". anh chưa hiểu chỗ dấu nháy trong textbox là sao nhỉ. có thể anh hiểu sai đề udency: chủ thớt đâu?

      P/s: Đây mới là tranh luận thôi, không phải war nhé @@
      -----------------------------
      Mai Văn Khải
      Software Engineering, University Information of Technology
      a07d26eb5cbc98f77b36a461eb629456

      Comment


      • #18
        chắc ý của đề bài là chỉ cho phép kí tự nhập vào là từ '3' đến '9' thôi. nếu vậy thì nhập đến đâu kiểm tra đến đó. còn nếu ý của đề bài là nhập xong rùi mới kiểm tra thì... ý của em là ý 1, tức là chỉ chấp nhận 3456789 thôi. chắc chủ thớt giờ này đi ngủ rùi. dừng tại đây nha!

        Comment


        • #19
          cứ sau dấu nháy trong textbox để ta bắt đầu nhập giá trị mà ta nhập vào số<=2 thì nó báo lỗi ngay.
          em nghĩ chắc là nhập đến đâu kiểm tra đến đó. vậy đoạn code của em ok.

          Comment


          • #20
            nhưng cần bám sát yêu cầu đề bài là nhập vào một số tự nhiên với điều kiện dàng buộc duy nhất là số đó >= 2
            -----------------------------
            Mai Văn Khải
            Software Engineering, University Information of Technology
            a07d26eb5cbc98f77b36a461eb629456

            Comment


            • #21
              Originally posted by 11520327 View Post
              private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
              {
              char c = e.KeyChar; //nhan ki tu vua nhap
              if (char.IsDigit(c) == true) // neu ki tu vua nhap la 1 so
              {
              int i = Convert.ToInt32(c.ToString()); // chuyen 1 ki tu sang so nguyen
              if (i < 3)
              {
              e.Handled = true; //xoa ki tu sai.
              MessageBox.Show("loi nhap sai");
              }
              }
              else
              {
              e.Handled = true; //xoa ki tu sai.
              MessageBox.Show("loi nhap sai");
              }
              }
              đúng yêu cầu.
              e.handle để xác nhận xem sau sự kiện key_press giá trị có được chấp nhận tại textbox hay không.

              Comment

              LHQC

              Collapse
              Working...
              X