WinForms开发桌面应用程序
生活随笔
收集整理的這篇文章主要介紹了
WinForms开发桌面应用程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? 項目需要寫個配置的桌面程序,作為一名前端工程師,接到這活我是懵逼的,然而boss說了,公司人人都是全棧工程師。額,好吧,我信了你的鬼,開干開干!
? ? ? ? 【百度百科】WinForms?腳本都是基于c#,winforms是做客戶端軟件,WinForm是.Net開發平臺中對Windows Form的一種稱謂。
對WinForms的第一印象是類似于dreamweaver,可以用視圖做些簡單的功能。先做個簡單外殼,設置頁面需要用到label、textBox、checkBox以及Button,如下圖所示
? ? ? ?外殼做好了,接下來實現業務邏輯,邏輯并不難,主要是對xml格式的文件進行讀取、修改、保存等操作,以及桌面程序confirm彈框等基本功能的實現。
xml文件內容:
<?xml version="1.0" encoding="utf-8"?> <config><UserName>root</UserName><Password>111111</Password><DatabaseName>test</<DatabaseName><ServerIP>localhost</ServerIP><CT_LUNG>1</CT_LUNG><CT_RIB>1</CT_RIB><DR_CHEST>1</DR_CHEST> </config>Form1.cs中添加程序的一些功能:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml; using System.Xml.Linq;namespace WindowsFormsApp1 {public partial class MNConfig : Form{public MNConfig(){InitializeComponent();}static void read(string[] args){}private void MNConfig_Load(object sender, EventArgs e){getXml();}private void save_btn_Click(object sender, EventArgs e){updatexml();}private void exit_btn_Click(object sender, EventArgs e){var a = MessageBox.Show("確認不保存退出嗎?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);if (Convert.ToString(a) == "OK"){this.Close();}}private void getXml(){var responseData = new List<object>();var data = new Dictionary<string, string>();XDocument document = XDocument.Load(@"D:\feb\test.xml");XElement root = document.Root;XElement UserName = root.Element("UserName");XElement Password = root.Element("Password");XElement DatabaseName = root.Element("DatabaseName");XElement ServerIP = root.Element("ServerIP");XElement CT_LUNG = root.Element("CT_LUNG");XElement CT_RIB = root.Element("CT_RIB");XElement DR_CHEST = root.Element("DR_CHEST");this.tbUserName.Text = UserName.Value;this.tbPassword.Text = Password.Value;this.tbDatabaseName.Text = DatabaseName.Value;this.tbServerIP.Text = ServerIP.Value;this.CT_LUNG.Checked = Convert.ToBoolean(Convert.ToInt16(CT_LUNG.Value));this.CT_RIB.Checked = Convert.ToBoolean(Convert.ToInt16(CT_RIB.Value));this.DR_CHEST.Checked = Convert.ToBoolean(Convert.ToInt16(DR_CHEST.Value));}private void updatexml(){XmlDocument xmlDoc = new XmlDocument();xmlDoc.Load(@"D:\feb\test.xml");XmlNode xns = xmlDoc.SelectSingleNode("config");XmlNodeList xnl = xns.ChildNodes;foreach(XmlNode xn in xnl){switch (xn.Name){case "UserName":xn.InnerText = this.tbUserName.Text;break;case "Password":xn.InnerText = this.tbPassword.Text;break;case "DatabaseName":xn.InnerText = this.tbDatabaseName.Text;break;case "ServerIP":xn.InnerText = this.tbServerIP.Text;break;//checkboxcase "CT_LUNG":xn.InnerText = Convert.ToString(Convert.ToInt32(this.CT_LUNG.Checked));break;case "CT_RIB":xn.InnerText = Convert.ToString(Convert.ToInt32(this.CT_RIB.Checked));break;case "DR_CHEST":xn.InnerText = Convert.ToString(Convert.ToInt32(this.DR_CHEST.Checked));break;default:break;}}xmlDoc.Save(@"D:\feb\test.xml");MessageBox.Show("保存成功!");this.Close();}}}?
總結
以上是生活随笔為你收集整理的WinForms开发桌面应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 实现超大文件传输、断点续传等功能
- 下一篇: CIH病毒1.4版本之中文注释