我正在为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
}
}
Run Code Online (Sandbox Code Playgroud)
GetLastChange()从Stack类中获取信息.
这就像文本框不让我看到变化.可能是因为我使用相同的快捷方式CTRL + Z来做吗?
使用ClearUndo方法清除文本框自己的堆栈。尝试这个:
nameTextBox.ClearUndo();
nameTextBox.Text = undoName.GetLastChange();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6585 次 |
| 最近记录: |