欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

WinForms开发桌面应用程序

发布时间:2024/3/26 编程问答 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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开发桌面应用程序的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。