Tôi đang làm việc trên một tính năng Hoàn tác rất đơn giản cho một Hộp văn bản và tôi gặp vấn đề lạ. Khi tôi cố gắng lấy chuỗi từ Stack
giữ tất cả các thay đổi và đặt chúng bên trong Hộp văn bản, tôi không thấy bất kỳ thay đổi nào.Tính năng hoàn tác cho Hộp văn bản
Tôi đã tạo một Nhãn gỡ lỗi nhỏ để kiểm tra xem điều này có thực sự hoạt động hay không. Tôi phát hiện ra rằng nó đang làm việc trong nhãn, nhưng trong Textbox nó sử dụng chức năng Undo của riêng nó.
Có cách nào để hủy hoặc ghi đè Hoàn tác hộp văn bản và sử dụng chức năng của riêng tôi không?
Đây là mẫu mã từ sự thay đổi tôi đã thực hiện:
private void Form1_KeyDown(object sender, KeyEventArgs e)
if (e.KeyCode == Keys.Z && (ModifierKeys & Keys.Control) == Keys.Control)
{
nameTextBox.Text = undoName.GetLastChange(); //--> not working
undoDebuglabel.Text = undoName.GetLastChange(); --> working
}
}
Các GetLastChange() là nhận được thông tin từ một Stack
bên trong lớp.
Giống như hộp văn bản không cho phép tôi xem các thay đổi. Có thể vì tôi đang sử dụng cùng một lối tắt, CTRL + Z
để làm điều đó?
Mã bạn đăng hoạt động tốt cho tôi. –
Bạn có thấy các thay đổi từ ngăn xếp bên trong hộp văn bản của mình không? – samy
Có. Rõ ràng là tôi không có mã chính xác mà bạn làm để điền vào nó, nhưng khái niệm thì giống nhau. –