Tôi đang sử dụng WinForms TreeView
và phản hồi sự kiện AfterLabelEdit
. Đây là đoạn mã:Sự cố với TreeNode.BeginEdit()
if (e.Label.Contains("|"))
{
if (WantAutofix())
{
label = e.Label.Replace('|', '_');
}
else
{
e.CancelEdit = true;
e.Node.BeginEdit();
return;
}
}
Vấn đề là khi người dùng không muốn sửa lỗi tự động của ký tự xấu, nút không ở chế độ chỉnh sửa. Có cách nào để sửa lỗi này không?
Không thực sự là một lựa chọn: Tôi sử dụng .NET 2.0, và điều này là không giải pháp đáng tin cậy. – Migol
Tại sao bạn nghĩ vậy? (Bạn không thể sử dụng cú pháp Action() có lẽ, nhưng BeginInvoke certinly hoạt động trong .NET 2.0) – jlew
Đơn giản. Nếu giải pháp này sẽ hoạt động thì chúng ta có điều kiện chủng tộc - luồng được tạo và chạy trước CancelEdit - BAD, sau nó - GOOD. – Migol