Trang 1 trên 1

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

Đã gửi: T.Bảy 30/12/2017 9:13 pm
gửi bởi ndh1ep
Em đang bị bí chỗ này, Cụ thể em có 1 form như này
Untitled.jpg
Untitled.jpg (5.47 KiB) Đã xem 300 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 ạ.

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

Đã gửi: T.Tư 03/01/2018 6:30 am
gửi bởi FlyingFox
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.     }

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

Đã gửi: T.Tư 03/01/2018 11:22 am
gửi bởi ndh1ep
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.