bạn bắt sự kiện KeyPress của textbox để chặn chỉ cho nhập số
Visual C# Code:
sau đó ở sự kiện TextChanged bạn dùng string.Format để định dạng
Chào cả nhà, cả nhà cho mình hỏi kiểu thế này trong C# có thể thực hiện được không nhé. Việc là thế này, em có 1 textbox, textbox này là textbox dùng để nhập số tiền (bằng số) ví dụ nhập 12345678. Có cách này khi nhập vào textbox thì text trong textbox này thể hiện là kiểu định dạng là tiền, tức 12.345.678 (hoặc 12,345,678) hay không?
Lưu ý là chuyển định dạng này ngay khi trong quá trình nhập số luôn nha (mục đích là để xem tiền nhập vào cho đúng, không nhầm lẫn được, nhỡ nhập 1000000 mà dư hoặc thiếu 1 số 0 thì toi
)
C# một phần tất yếu của cuộc sống
Cà phê xem phim 3D Đà Nẵng - http://3dsmartcoffee.com.vn
<@ Bản đồ dẫn đường - Click here @>
bạn bắt sự kiện KeyPress của textbox để chặn chỉ cho nhập số
Visual C# Code:
sau đó ở sự kiện TextChanged bạn dùng string.Format để định dạng
Ebooks dành cho dế yêu của bạn: http://sachdidong.com/
Góc nhỏ của tôi: http://seekill.com/
C# một phần tất yếu của cuộc sống
Cà phê xem phim 3D Đà Nẵng - http://3dsmartcoffee.com.vn
<@ Bản đồ dẫn đường - Click here @>
Ebooks dành cho dế yêu của bạn: http://sachdidong.com/
Góc nhỏ của tôi: http://seekill.com/
C# một phần tất yếu của cuộc sống
Cà phê xem phim 3D Đà Nẵng - http://3dsmartcoffee.com.vn
<@ Bản đồ dẫn đường - Click here @>
tối qua spam -> câu dc 2 bài thì bị mod shift+del mất dạng-tiếc quá. Code chuẩn này:
Dùng code này thì không giới hạn độ lớn của số, dấu nháy luôn ở tại vị trí gõ(ví dụ dấu nháy đang ở giữa số 2 & 3 trong số 123 thì khi gõ thêm số 4 dấu nháy sẽ ở giữa 4 & 3 chứ k bị chuyển về cuối như code trên.=> quảng cáo + dìm hàng ^^Code:private void textBox1_KeyUp(object sender, KeyEventArgs e) { string str = textBox1.Text; int start=textBox1.Text.Length - textBox1.SelectionStart; str = str.Replace(".", ""); textBox1.Text = FormatMoney(str); textBox1.SelectionStart = -start + textBox1.Text.Length; } string FormatMoney(object money) { string str = money.ToString(); string pattern = @"(?<a>\d*)(?<b>\d{3})*"; Match m = Regex.Match(str, pattern, RegexOptions.RightToLeft); StringBuilder sb = new StringBuilder(); foreach (Capture i in m.Groups["b"].Captures) { sb.Insert(0, "." + i.Value); } sb.Insert(0, m.Groups["a"].Value); return sb.ToString().Trim('.'); }
cái này nếu mình nhập có một số thì nó hiện thêm số 0 phía trước(lun có ít nhất 2 chữ số) làm sao khi mình nhập 1 số thì nó cũng chỉ hiện một số vậy bạn?
Thank nha mình đang cần cái này
Sao không có sự kiện SelectionStart ta?