Thao tác sự kiện click của hàng loạt control trên winform

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#

Các điều hành viên: tungblt, vuathongtin

Đăng trả lời
Hình đại diện của thành viên
nhutwarn1998
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 87
Ngày tham gia: Thứ 4 09/02/2011 9:48 pm
Has thanked: 1 time

Thao tác sự kiện click của hàng loạt control trên winform

Gửi bài by nhutwarn1998 »

Tình hình là mình có 1 cái TableLayoutPanel , mỗi ô đều có 1 button. Mình muốn mỗi khi một button được nhấn nó sẽ msgbox ra text của nó chẳng hạn. Nhưng vấn đề là TableLayoutPanel này mình thiết lập khi đang chạy = code, có số dòng cột thay đổi tùy theo người dùng. Vậy khi 1 button được nhấn thì nó sẽ bắt sự kiện như thế nào? Làm sao viết hết toàn bộ sự kiện cho từng button?
Mình nghĩ ra 1 ý kiến nhưng mà không biết có được không?
Mình sẽ viết thay button = 1 usercontrol tự làm, trong đó sẽ thực hiện sự kiện click. Như vậy thì khi run mình chỉ cần add cái usercontrol đó vào TableLayoutPanel là xong.
Mong các bác trợ giúp
chipmunk
Thành viên tích cực
Thành viên tích cực
Bài viết: 125
Ngày tham gia: Thứ 2 28/03/2011 9:19 am
Has thanked: 2 times
Been thanked: 5 times

Re: Thao tác sự kiện click của hàng loạt control trên winfor

Gửi bài by chipmunk »

Viết một hàm xử lí sự kiện click chung cho tất cả các nút
sua đó dùng hàm GetControlFromPosition duyệtn qua tất cả các nút trong bảng đồng thời gán hàm xử lí sự kiện cho nó bằng hàm addhandler
Hình đại diện của thành viên
nhutwarn1998
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 87
Ngày tham gia: Thứ 4 09/02/2011 9:48 pm
Has thanked: 1 time

Re: Thao tác sự kiện click của hàng loạt control trên winfor

Gửi bài by nhutwarn1998 »

nhưng sao mà biết được nút nào được click? bạn nói rõ hơn về cái GetControlFromPosition đc k
Hình đại diện của thành viên
1045007
Thành viên danh dự
Thành viên danh dự
Bài viết: 551
Ngày tham gia: Thứ 2 09/06/2008 3:35 pm
Đến từ: TP Cần Thơ
Has thanked: 2 times
Been thanked: 61 times
Tiếp xúc:

Re: Thao tác sự kiện click của hàng loạt control trên winfor

Gửi bài by 1045007 »

  1. Private Sub Form_Stock_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         AddHandler Button1.Click, AddressOf Event_Click
  3.         AddHandler Button2.Click, AddressOf Event_Click
  4.     End Sub
  5.  
  6.     Private Sub Event_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  7.         MessageBox.Show("Bạn đang click vào nút " & sender.Text)
  8.     End Sub
chipmunk
Thành viên tích cực
Thành viên tích cực
Bài viết: 125
Ngày tham gia: Thứ 2 28/03/2011 9:19 am
Has thanked: 2 times
Been thanked: 5 times

Re: Thao tác sự kiện click của hàng loạt control trên winfor

Gửi bài by chipmunk »

Đăng trả lời

Quay về