-1
我正在使用Windows窗体和C++的记事本。现在我试图设置TextChanged事件,因此如果在关闭应用程序之前没有保存更改,程序不应该询问用户是否要保存他的文档。WinForms C++如何检测自上次保存以来文本已更改?
当我工作的OnClosing方法,它是这样的:
protected: virtual void OnClosing(CancelEventArgs^ e) override
{ // code here }
但框TextChanged不是方法,它是一个事件。
文档说我可以用这个:
public:
event TextChangedEventHandler^ TextChanged { // code here }
但我的Visual Studio中说,TextChangedEventHandler是不确定的。
有没有什么办法可以检测到自上次保存以来文本发生了变化?我唯一的想法是创建一个新的字符串变量;程序每次将文件保存到文件中时都会将文本保存到变量中。 最后,应用程序将检查文本框和变量中的文本是否相同,但恐怕会降低应用程序的速度。
我会很感激任何帮助。
当触发TextChanged处理程序时,您可以设置布尔值。该布尔将需要更高的范围或能见度,其中设置者和检查者都可以访问它。 –
您需要为您的文本框的TextChanged事件添加一个侦听器。你在做那个吗? (你粘贴的代码的一小部分是你如何声明TextChanged事件,而不是你如何使用文本框类已经提供的那个。) –