Không, tôi không biết bất kỳ sự kiện nào xảy ra bất cứ khi nào kiểm soát bất kỳ điều khiển nào về thay đổi biểu mẫu.
Lời khuyên của tôi là đăng ký từng sự kiện riêng lẻ (nếu biểu mẫu của bạn có quá nhiều điều khiển thực sự khó thực hiện thì bạn có thể muốn nghĩ lại UI của mình).
Nếu bạn hoàn toàn phải đăng ký thay đổi cho tất cả các điều khiển sau đó bạn có thể muốn xem xét một cái gì đó tương tự như sau:
foreach (Control c in this.Controls)
{
c.TextChanged += new EventHandler(c_ControlChanged);
}
void c_ControlChanged(object sender, EventArgs e)
{
}
Lưu ý rằng điều này sẽ không làm việc đặc biệt tốt tuy nhiên nếu bạn tự động thêm và loại bỏ các điều khiển vào biểu mẫu khi chạy.
Ngoài ra, sự kiện TextChanged
có thể không phải là sự kiện phù hợp cho một số loại điều khiển (ví dụ: Hộp văn bản) - trong trường hợp này, bạn cần phải truyền và kiểm tra loại điều khiển để có thể đăng ký sự kiện chính xác, ví dụ: :
foreach (Control c in this.Controls)
{
if (c is CheckBox)
{
((CheckBox)c).CheckedChanged += c_ControlChanged;
}
else
{
c.TextChanged += new EventHandler(c_ControlChanged);
}
}
Sự hài lòng cho việc gắn nhãn sai - giống như cách bạn làm trong VB.NET hoặc trong khi ăn pizza. Bạn nói về điều khiển nào? WPF hoặc WinForms? – TomTom
Ý tôi là, tôi cần phát hiện các thay đổi i các hộp văn bản/combobox/các giá trị hộp kiểm tra, nếu có bất kỳ thay đổi nào được phát hiện từ các giá trị biểu mẫu đã điền trước đó, chỉ vô hiệu hóa một nút. – Asad
Ứng dụng này là một ứng dụng dạng cửa sổ được xây dựng bằng cách sử dụng VS C# .net – Asad