要实现撤销功能,你可以使用KeyPress事件来捕获用户按下的按键,并根据按键来判断用户是否想进行撤销操作。下面是一个简单的示例代码,演示了如何在C#中使用KeyPress事件来实现撤销功能:
using System;
using System.Windows.Forms;
namespace UndoFunctionality
{
public partial class Form1 : Form
{
private string text = "";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.KeyPress += new KeyPressEventHandler(textBox1_KeyPress);
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)26) // Ctrl + Z
{
if (!string.IsNullOrEmpty(text))
{
textBox1.Text = text;
}
}
else
{
text = textBox1.Text;
}
}
}
}
在上面的示例中,我们在Form1的Load事件中将textBox1的KeyPress事件与textBox1_KeyPress方法关联起来。在textBox1_KeyPress方法中,我们捕获用户按下的按键,并判断是否按下了Ctrl + Z键(ASCII码为26),如果是则执行撤销操作,将文本框的内容恢复为之前保存的文本内容。否则,保存当前文本框的内容以便进行撤销操作。
请注意这只是一个简单的示例,实际情况中可能需要根据具体需求进行适当调整和扩展。