要實現撤銷功能,你可以使用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),如果是則執行撤銷操作,將文本框的內容恢復為之前保存的文本內容。否則,保存當前文本框的內容以便進行撤銷操作。
請注意這只是一個簡單的示例,實際情況中可能需要根據具體需求進行適當調整和擴展。