c# - 文本框的撤消功能

标签 c# winforms

我正在为 TextBox 开发一个非常简单的撤消功能,但我遇到了一个奇怪的问题。当我尝试从包含所有更改的 Stack 中获取字符串并将它们放入文本框时,我没有看到任何更改。

我制作了一个小调试标签来检查这是否真的有效。 我发现它在标签中有效,但在文本框中它使用自己的撤消功能。

有没有办法取消或覆盖文本框撤消并使用我自己的功能?

这是我所做更改的示例代码:

 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
            }
}

GetLastChange() 从类中的 Stack 获取信息。

好像文本框不让我看到更改。 会不会是因为我使用了相同的快捷方式 CTRL + Z 来执行此操作?

最佳答案

使用 ClearUndo 清除文本框自身的堆栈方法。试试这个:

nameTextBox.ClearUndo();
nameTextBox.Text = undoName.GetLastChange();

关于c# - 文本框的撤消功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12990959/

相关文章:

VB.NET - 中断表单循环和结束表单

c# - 如何使用 System.Windows.Forms.WebBrowser 以编程方式单击或调用 javascript 方法?

c# - Azure 是否限制了我的 WebApi?

c# - XML 到 XSL-FO C#.NET

c# - 具有序列 ID 的线程安全固定大小循环缓冲区

c# - 所有 Entity Framework 方法都应该使用异步吗?

c# - Listpicker 错误 SelectedItem 必须始终设置为有效值

winforms - 自定义项目模板向导按钮单击不触发?

wpf - Visualstudio 如何知道当前项目的类型?

c# - 从 ImageList 中获取的图像看起来与直接从资源中获取的图像不同