上位機程序通常都會需要保存一些用戶的配置信息。比如目標PLC的IP地址、變量信息等。這些信息需要上位機程序在運行時將其保存。保存用戶配置信息的方法有很多,比如設置文件、INI文件、XML文件和本地數據庫等等。其中要數設置文件的使用最爲方便。我們在系列文章《C#上位機入門》中也是使用它保存的PLC地址信息。
設置文件的使用非常方便,在項目名稱上右擊,選擇“添加/新建項”。
![](http://image.uc.cn/s/wemedia/s/upload/2024/b5b436c9c6692eeb02009ea8f69d18b8.jpg)
在彈出窗口中選擇“設置文件”即可。
![](http://image.uc.cn/s/wemedia/s/upload/2024/76769aa8e4278166914942536e0a5465.jpg)
新插入的設置文件Settings1會自動打開。我們添加三個字段,分別是PlcAddress、PlcRack和PlcSlot,分別用于保存PLC的IP地址、機架號和槽號。數據類型分別爲string和int,參見下圖所示。
![](http://image.uc.cn/s/wemedia/s/upload/2024/3f555c4f14b9db5e8e4f04e035e029ca.jpg)
設置文件裏面的字段也支持設置初始值。另外範圍記得選擇“用戶”。如果選擇“應用程序”是不會被保存的。接下來我們簡單地設計一下界面。
![](http://image.uc.cn/s/wemedia/s/upload/2024/575aa59f1d4d2f0f022399e6f3331904.jpg)
爲了在界面打開時顯示當前值,我們需要在其Load事件中輸入下面代碼。
private void Form1_Load(object sender, EventArgs e){ txtIP.Text = Settings1.Default.PlcAddress; txtRack.Text = Settings1.Default.PlcRack.ToString(); txtSlot.Text = Settings1.Default.PlcSlot.ToString();}運行程序,我們可以看到已經可以正常顯示初始值。
![](http://image.uc.cn/s/wemedia/s/upload/2024/b866886299f14a599fb82fd0d074b1fb.jpg)
爲了保存用戶設置值,我們在“確定”按鈕的點擊事件中輸入下面代碼。
private void button1_Click(object sender, EventArgs e){ Settings1.Default.PlcAddress = txtIP.Text.Trim(); Settings1.Default.PlcRack= Convert.ToInt32(txtRack.Text.Trim()); Settings1.Default.PlcSlot = Convert.ToInt32(txtSlot.Text.Trim()); Settings1.Default.Save();}注意,在賦值後需要調用Save方法,否則數據不會被保存。運行程序,修改設置值,再重新打開應用程序,我們會發現新值被保存了。另外上面的代碼沒有異常處理部分,正式項目需要增加對轉換錯誤的異常處理。
![](http://image.uc.cn/s/wemedia/s/upload/2024/51628a6c03479bdd9fb0bbb6d316136c.jpg)
![](http://image.uc.cn/s/wemedia/s/upload/2024/9c29f7870657d61bfc9353f23d607ab6.png)