-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事件,而不是你如何使用文本框類已經提供的那個。) –