1樓:明桖瑤
樓上「lj4549」的方法在 windows 程式也行,不要以為看到 *.config 之類的檔案就只能在 web 中應用。
樓主的問題,我建議使用讀寫「登錄檔」實現,這樣更符合你要的「windows 的設計方案」的效果。在 .net 中讀寫登錄檔很容易,而且功能也非常強大,比 vc、vb6 要方便 n 倍,呵呵...
我先簡單介紹一下登錄檔,然後給你一個示例**。在「開始」選單→「執行」對話方塊中輸入「regedit」後就能開啟登錄檔編輯器,在左側的樹目錄下能看到幾個根鍵,分別為:
hkey_classes_root
hkey_current_user
hkey_local_machine
hkey_users
hkey_current_config
在這裡我不長篇大論的詳細討論所有的根鍵,簡單的描述一下最常用的兩個根鍵:
hkey_current_user 該鍵可以理解為儲存當前使用者的設定(即:每個不同使用者之間不互不影響)
hkey_local_machine 該鍵可以理解為儲存本機的設定(即:對所有使用者都有效)
儲存程式的狀態,可以根據您自己的需要,選擇「hkey_current_user」或「hkey_local_machine」鍵的其中之一。
通常我們是這樣儲存的(規範化):「根鍵\software\公司的名稱(或工作室名稱)\產品的名稱」,好,無廢話,直接給出寫入登錄檔的**示例:
using microsoft.win32; // 請先匯入此名稱空間
// registry.localmachine 表示是 hkey_local_machine 根鍵,若要寫入到 hkey_current_user 根鍵下面,則為 registry.currentuser
registrykey rootkey = registry.localmachine;
// 建立子鍵(請不要附加 hkey_local_machine 字串),若子鍵不存在則建立,已存在則開啟不會發生異常。
registrykey subkey = rootkey.createsubkey("software\\您公司的名稱\\產品的名稱");
subkey.setvalue(".left", this.left); // 儲存視窗的位置和大小
subkey.setvalue("top", this.top);
subkey.setvalue("width", this.width);
subkey.setvalue("height", this.height);
subkey.close(); // 關閉登錄檔鍵
rootkey.close(); // 同上
registrykey rootkey = registry.localmachine;
registrykey subkey = rootkey.createsubkey("software\\您公司的名稱\\產品的名稱");
this.left = (int)subkey.getvalue("left");
this.top = (int)subkey.getvalue("top");
this.width = (int)subkey.getvalue("width");
this.height = (int)subkey.getvalue("height");
subkey.close();
rootkey.close();
2樓:匿名使用者
完全沒有必要實現這種。如果是學習,可以去做第一,登錄檔儲存現在的窗體狀態值
第二,儲存到配置檔案
第三,儲存在自己特定的檔案。
第四,使用序列化,把當前窗體物件序列化到一個檔案中,下次直接讀取這個檔案,然後初始化窗體。。怎麼序列化,你可以學習下。對你以後有幫助的
3樓:匿名使用者
記事本的窗體大小是儲存在登錄檔裡的
用vb,windows窗體應用程式設計菱形,用strdup函式
strdup 函式 j jscript visual basic 語言參考strdup 函式示例 請參見 返回由指定字元重複指定次數後形成的字串或物件。public shared function strdup byval number as integer,byval character as a...
關於應用程式錯誤問題,關於應用程式錯誤問題
如果是開機出現的是程式的話,看看開機啟動中是否有這個選項,如果有將其去掉,如果是系統程序不適用上面的方法。2 如果上面的方法不能解決,先軟後硬,重新安裝作業系統,不要安裝軟體 補丁 驅動等,看看開機還有問題嗎?如果沒有在逐步的安裝驅動 補丁 軟體,找出不合適的東西就不要安裝了。請注意 如果還原系統或...
c寫winform登入與註冊的應用程式
登入就是判斷你輸入的值和資料庫中的值是否相同,而註冊其實就是往資料庫中插入使用者名稱和密碼,比如註冊 如下,匯入名稱空間using system.data.sqlclient sqlconnection conn new sqlconnection conn.connectionstring ser...