2011-03-04 79 views
0

所以我試圖編寫一個取消按鈕,當它被單擊時,將恢復對窗體所做的更改,然後關閉它。我有一個想法是在表單加載事件聲明變量來存儲原始值。然而,由於這將涉及宣佈他們是全球性的,我不想走這條路。這就是說我的問題是:什麼是最好的方式來恢復變化的形式,而不必聲明一堆全局變量。將窗體恢復爲其原始值

編輯:感謝您的幫助,但研究我找到了答案後

嘿,夥計們。因爲我是所有這些形式的控制值存儲到My.Settings,所有我需要做的是使用

My.Settings.Save() 
在接受按鈕點擊事件

My.Settings.Reload() 
Me.Close() 

上的關閉按鈕事件。

回答

0

嘿傢伙感謝您的幫助,但經過研究,我找到了答案。因爲我是所有這些形式的控制值存儲到My.Settings,所有我需要做的是使用

My.Settings.Save()

在接受按鈕點擊事件和

My.Settings .Reload() Me.Close()

關閉按鈕事件。

0

你的表格的一般設計是什麼?如果您不得不關閉表單,您是不是可以立即關閉它而不保存?

如果你有束縛,你可以做dataSource.RejectChanges在窗體上的控件的數據最終...

+0

表單只包含一些文本框,複選框和numericupanddowns。 – Error1f1f 2011-03-04 17:10:51

+0

然後在不保存的情況下關閉它,但是如果您要關閉它,爲什麼還要恢復以前的值? – 2011-03-04 17:12:20

+0

我只想使用取消按鈕取消對錶單所做的任何更改。我在按鈕單擊事件上使用Me.Close()來關閉表單,但它仍保存所做的更改。 – Error1f1f 2011-03-04 17:16:11

0

保存原始值是正確的想法。不要將它們保存在全局級別,您可以將它們保存在表單類中的私有變量中。您可能希望將它們全部存儲在單個數據結構中 - 哈希映射將是一個不錯的選擇。

+1

更多的面向對象的方法,如果你打開表單顯示對象的細節Person,你已經擁有持有他所有數據的Person業務實體,只需不改變此類對象中的任何內容,並關閉表單就可以實現。 – 2011-03-04 17:20:09

相關問題