gpt4 book ai didi

c# - .NET RichTextBox 撤消

转载 作者:太空狗 更新时间:2023-10-29 21:56:08 24 4
gpt4 key购买 nike

我在 WinForms 3.5 中使用 RichTextBox,我发现当我以编程方式编辑包含的文本时,这些更改不再适用于内置撤消功能。

有没有办法使这些更改可用于撤消/重做?

最佳答案

这里只是一些我决定乱搞的代码:

        string buffer = String.Empty;
string buffer2 = String.Empty;
public Form3()
{
InitializeComponent();
this.richTextBox1.KeyDown += new KeyEventHandler(richTextBox1_KeyDown);
this.richTextBox1.TextChanged += new EventHandler(richTextBox1_TextChanged);
}

void richTextBox1_TextChanged(object sender, EventArgs e)
{
buffer2 = buffer;
buffer = richTextBox1.Text;
}

void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.Z)
{
this.richTextBox1.Text = buffer2;
}
}

private void button1_Click(object sender, EventArgs e)
{
richTextBox1.Text = "Changed";
}

这基本上是我编写自己的撤消功能。我所做的只是将旧值存储在一个缓冲区变量中,将新值存储在第二个缓冲区变量中。每次文本更改时,这些值都会更新。然后,如果用户点击“CTRL-Z”,它会用旧值替换文本。破解?一点。但是,它在大多数情况下都有效。

关于c# - .NET RichTextBox 撤消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/275493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com