• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Viết sự kiện TextBoxValueChanged cho textbox được tạo bằng code

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Điều hành viên: tungblt, vuathongtin

ndh1ep
Thành viên chính thức
Thành viên chính thức
Bài viết: 11
Ngày tham gia: T.Bảy 10/04/2010 1:18 pm
Has thanked: 1 time

Viết sự kiện TextBoxValueChanged cho textbox được tạo bằng code

Gửi bàigửi bởi ndh1ep » T.Bảy 30/12/2017 9:13 pm

Em đang bị bí chỗ này, Cụ thể em có 1 form như này
Untitled.jpg
Untitled.jpg (5.47 KiB) Đã xem 394 lần


Cứ nhấn vào Button1 thì sẽ sinh ra textbox1, textbox2,3,4... //Phần này em làm được

bây giờ em đang bí ở chỗ, em muốn viết sự kiện cho
sự kiện của textbox1valuechanged và textbox2valuechanged thì textbox3.value = textbox1.value + textbox2.value
tương tự như vậy với 4,5,6 7,8,9 ,...

Nó giống như là trên excel ấy ạ.
:-? :-? các bác giúp em với. Em cảm ơn ạ.



FlyingFox
Guru
Guru
Bài viết: 809
Ngày tham gia: T.Tư 20/04/2011 9:56 am
Been thanked: 320 time

Re: Viết sự kiện TextBoxValueChanged cho textbox được tạo bằng code

Gửi bàigửi bởi FlyingFox » T.Tư 03/01/2018 6:30 am

Phải add handler cho event textchanged tb.TextChanged += Tb_TextChanged;

  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             try
  4.             {
  5.                 int txtno = int.Parse(textBox1.Text);
  6.                 int pointX = 30;
  7.                 int pointY = 40;
  8.                 panel2.Controls.Clear();
  9.                 for (int i = 0; i < txtno; i++)
  10.                 {
  11.                     TextBox tb = new TextBox();
  12.                     tb.Text = (i + 1).ToString();
  13.                     tb.Location = new Point(pointX, pointY);
  14.                     panel2.Controls.Add(tb);
  15.                     panel2.Show();
  16.                     pointY += 20;
  17.                     tb.TextChanged += Tb_TextChanged;
  18.                 }
  19.             }
  20.             catch (Exception)
  21.             {
  22.                 MessageBox.Show(e.ToString());
  23.             }
  24.         }
  25.  
  26.         private void Tb_TextChanged(object sender, EventArgs e)
  27.         {
  28.             int sum = 0;
  29.             foreach (Control ctrl in panel2.Controls)
  30.             {
  31.                 if (ctrl is TextBox)
  32.                 {
  33.                     TextBox tb = ctrl as TextBox;
  34.                     sum += int.Parse(tb.Text);
  35.                 }
  36.             }
  37.             textBox2.Text = sum.ToString();
  38.         }
  39.     }

ndh1ep
Thành viên chính thức
Thành viên chính thức
Bài viết: 11
Ngày tham gia: T.Bảy 10/04/2010 1:18 pm
Has thanked: 1 time

Re: Viết sự kiện TextBoxValueChanged cho textbox được tạo bằng code

Gửi bàigửi bởi ndh1ep » T.Tư 03/01/2018 11:22 am

tks bác FlyingFox. Em giải quyết xong được từ hôm trước rồi. Add handler cho event xong ép kiểu sender về textbox thì em làm được, chỉ khó cái đoạn tính tổng cái cuối dòng bằng 2 cái đâu cộng lại thôi. Em dùng mảng 2 chiều để điều kiển sự kiện cho Textbox thế là ngon ngay rồi bác a.


Quay về “Visual Basic .NET và C# (VB.NET & C#)”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.8 khách