Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: textbox chỉ cho nhập số thực làm thế nào?

  1. #1
    Ngày gia nhập
    02 2008
    Nơi ở
    Bình dương
    Bài viết
    8

    Question textbox chỉ cho nhập số thực làm thế nào?

    Mình đang viết chương trình tính điểm nhưng phần xử bắt lỗi chỉ cho nhập số thì được nhưng lại không nhập được dấu . thập phân vd: nhập 7.5 thì không được. bạn nào có thể giúp mình không?

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Sao bạn không dùng cách đơn giản nhất là Double.Parse.
    Nếu chuôi nhập vào không phải là số thì sẽ bị exception FormatException -> bạn bắt cái này và thực hiện validate.
    Bao chàng trai không tiếc tuổi xuân đang viết nhiều chương trình
    Em đẹp xinh cũng quyết lập công chưa muốn lấy chồng
    http://ipmac.vn/ <- Học lập trình ... sư
    http://laptrinh.tv/ <- Kênh chia sẻ video học IT
    http://www.youtube.com/user/anhnt3 <- Video thực hành lập trình... sư từ A-Z

  3. #3
    Ngày gia nhập
    12 2008
    Bài viết
    235

    Visual C# Code:
    1.         private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    2.         {
    3.             if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.' ||
    4.                 (e.KeyChar == '.' && (textBox1.Text.Length == 0 || textBox1.Text.IndexOf('.') != -1))))
    5.                 e.Handled = true;
    6.         }

  4. #4
    Ngày gia nhập
    08 2011
    Bài viết
    3

    Bắt lỗi bằng try catch trong sự kiện KeyPress cũng được bạn ak.
    Visual C# Code:
    1.         private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    2.         {
    3.             int number;
    4.             try
    5.             {
    6.                 number = int.Parse(textBox1.Text);
    7.                 textBox1.BackColor = Color.White;
    8.             }
    9.             catch
    10.             {
    11.                 textBox1.BackColor = Color.Red;
    12.             }
    13.         }

  5. #5
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    hi!Theo Four dùng try-catch cho chuơng trình an toàn cũng được. Tuy nhiên, cũng không nên dùng try-catch khi mình có thể kiểm soát được. Vì dùng try-catch sẽ làm chuơng trình chậm hơn bình thường một chút. Trừong hợp này bạn có thể dùng hàm TryParse mà các kiểu dữ liệu số hỗ trợ sẵn. Chẳng hạn:int.TryParse(string str,out iNumber),float.TryParse(string value,out fNumber),...Bài of bạn làm thế này cũng được nè(viết trong sự kiện như mấy bác kia nói nhé):

    if(int.TryParse(textBox1.Text, out number))
    textBox1.BackColor = Color.White;
    else
    textBox1.BackColor = Color.Red;

  6. #6
    Ngày gia nhập
    06 2011
    Bài viết
    277

    Mặc định textbox chỉ cho nhập số thực làm thế nào?

    Trích dẫn Nguyên bản được gửi bởi anhnt3 Xem bài viết
    Sao bạn không dùng cách đơn giản nhất là Double.Parse.
    Nếu chuôi nhập vào không phải là số thì sẽ bị exception FormatException -> bạn bắt cái này và thực hiện validate.
    bạn có thể chỉ mình cách bắt cái lỗi FormatException đó trong datagridview đc ko?

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

    Sao bạn không sử dụng Regex để bắt lỗi khi nhập vào textbox, chỉ cho phép nhập số từ 0->9 chẳng hạn
    Regex fgint = new Regex("^([0-9]){1,2}$");
    if (!fgint.IsMatch(txtage.Text))
    {
    MessageBox.Show("Age not Validate", "Error", MessageBoxButtons.OK);
    txtage.Focus();
    return;
    }

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

  1. Kiểm tra tính hợp lệ của textbox sau khi nhập như thế nào?
    Gửi bởi Cold_Zero trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 22-12-2012, 07:12 PM
  2. Trả lời: 14
    Bài viết cuối: 10-10-2011, 03:58 PM
  3. Làm thế nào để bắt lỗi nhập dữ liệu vào textbox
    Gửi bởi boychantinh20027 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 05-06-2011, 12:30 AM
  4. Làm thế nào để không cho nhập 1 kí tự vào textbox
    Gửi bởi tuanvu199x trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 14-12-2010, 07:23 PM
  5. Nhập dữ liệu vào textbox như thế nào?
    Gửi bởi matmeoviet trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 26-05-2009, 05:31 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