被Settings.setting折磨,研究了下,記錄下來備忘。
1 Settings.setting 使用方法:
很簡單,在Settings.setting裏設置個變量,然後用就OK了,如:Properties.Settings.Default.xxx
創建變量 參考:https://www.cnblogs.com/lonelyxmas/p/9946226.html
2 Settings.setting 用途
看個人需求,我常用於:
先在Settings.setting設置一個變量,該變量可作爲flag,控制軟件功能,爲真時軟件有哪些功能,爲假時具有哪些功能;
在 output目錄下的.exe.config文件中,通過修改Settings.setting設置的變量,來實現不同的軟件功能;
3 Settings.setting 理解
這個就要 敲黑板 了!
放個圖,方便說。
當 設置的變量的Scope爲User時,User作用域設置可以在程序運行時進行寫入,並且新值會在應用程序執行期間一直保持下去。那麼重點就來了,新的值保存在哪呢?答:保存在 C:\Users\Administrator\AppData\Local\[公司名]\[程序名]\[版本名] 中(假設該路徑爲C_addr)。知道這個信息很有用。
當設置的變量的Scope爲Application時,對應的Setting在運行時不可以修改,因爲作用域設置是只讀的。這種情況下,想要修改setting的變量值,只能事先在程序編寫時 或者 通過修改程序運行目錄下<xxx>.exe.config (假設該路徑爲D_addr)文件中setting的變量值。
4 Settings.setting 注意點
到這,就可以歸納出一個注意點:
在使用Settings.setting的時候,一定要注意setting變量的作用域。根據需求判定,到底是採用User,還是Application。如果使用setting變量的話,兩者天差地別。User的話,setting的變量在程序不是初次運行以後,總是從C_addr中讀取user.coonfig文件;Application的話,setting的變量總是從D_addr中讀取<xxx>.exe.config 文件。
關於exe.config、exe.config.vshost、app.config的區別與聯繫,參考:https://www.cnblogs.com/leenice/p/5286451.html