C#WinForm 用textbox与button控件,向xml文件中增加新的数据

1 旧的xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <datas>
 3   <XianJia>
 4     <ShengHao>女娲娘娘</ShengHao>
 5     <Password>nwnn</Password>
 6   </XianJia>
 7   <XianJia>
 8     <ShengHao>后土娘娘</ShengHao>
 9     <Password>htnn</Password>
10   </XianJia>
11   <XianJia>
12     <ShengHao>释迦摩尼佛</ShengHao>
13     <Password>sjmnf</Password>
14   </XianJia>
15   <XianJia>
16     <ShengHao>元始天尊</ShengHao>
17     <Password>ystz</Password>
18   </XianJia>
19   <XianJia>
20     <ShengHao>太上老君</ShengHao>
21     <Password>tslj</Password>
22   </XianJia>
23   <XianJia>
24     <ShengHao>灵宝天尊</ShengHao>
25     <Password>lbtz</Password>
26   </XianJia>
27   <XianJia>
28     <ShengHao>耶和华</ShengHao>
29     <Password>yhh</Password>
30   </XianJia>
31   <XianJia>
32     <ShengHao>地藏王菩萨</ShengHao>
33     <Password>dzwps</Password>
34   </XianJia>
35   <XianJia>
36     <ShengHao>九天应元雷声普化天尊</ShengHao>
37     <Password>jtyylsphtz</Password>
38   </XianJia>
39 </datas>

2 UI

3 code

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 using System.Windows.Forms;
10 using System.Xml.Linq;
11
12 namespace WindowsFormsApplication3
13 {
14     public partial class Form1 : Form
15     {
16         public Form1()
17         {
18             InitializeComponent();
19         }
20
21
22
23         private void Form1_Load(object sender, EventArgs e)
24         {
25             ShowXmlFile();
26
27
28
29         }
30
31         private void ShowXmlFile()
32         {
33             List<User> datas = new List<User>();
34             //form 窗体在加载的时候,读取xml文件
35             XDocument xmlFile = XDocument.Load("1.xml");
36             XElement root = xmlFile.Root;
37
38             foreach (var item in root.Elements())
39             {
40                 datas.Add(new User() { ShengHao = item.Element("ShengHao").Value, Password = item.Element("Password").Value });
41             }
42
43             //将list数据与datagridview绑定
44             dataGridView1.DataSource = datas;
45
46             //这行代码一开始是放在formload中的,但发现,每次增加新的数据之后,第一行都会被选中,所以
47             //把这行代码加入到showxmlfile中
48             dataGridView1.SelectedRows[0].Selected = false;
49
50         }
51
52         private void btnBook_Click(object sender, EventArgs e)
53         {
54
55             User newUser = new User() { ShengHao = textNewShengHao.Text, Password = textNewPassword.Text };
56
57             XDocument xmlFile = XDocument.Load("1.xml");
58             XElement root = xmlFile.Root;
59
60             //在根节点下新建一个子节点,名字叫“XianJia”
61             XElement newXianJia = new XElement("XianJia");
62             newXianJia.SetElementValue("ShengHao", newUser.ShengHao);
63             newXianJia.SetElementValue("Password", newUser.Password);
64             root.Add(newXianJia);
65
66             //保存
67             xmlFile.Save("1.xml");
68
69             //为何防止用户,双击啥的,出现一堆重复的数据,所以在这里出现一个messagebox
70             //我还发现,没有这个messagebox,虽然数据已经增加到了xml文件中,
71             //但是那个datagridview控件却不显示新的,但是在重新运行这个程序的时候会显示
72             //所以,一个messagebox贴心又省心
73             MessageBox.Show("欢迎回家");
74
75             //让datagirdview控件显示新的xml文件中的内容
76             ShowXmlFile();
77         }
78     }
79 }
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace WindowsFormsApplication3
 8 {
 9     /// <summary>
10     /// xml文件内容匹配类
11     /// </summary>
12     public class User
13     {
14         private string _shengHao;
15         private string _password;
16
17         public string Password
18         {
19             get
20             {
21                 return _password;
22             }
23
24             set
25             {
26                 _password = value;
27             }
28         }
29
30         public string ShengHao
31         {
32             get
33             {
34                 return _shengHao;
35             }
36
37             set
38             {
39                 _shengHao = value;
40             }
41         }
42     }
43 }

4 show1

show2

show3

时间: 2024-08-02 11:02:11

C#WinForm 用textbox与button控件,向xml文件中增加新的数据的相关文章

net8:XML的读写操作【广告控件的XML文件实例】

原文发布时间为:2008-08-05 -- 来源于本人的百度文章 [由搬家工具导入] 【用了datalist控件,datalist控件自己学会,主要知道其他按钮COMMANDNAME属性应该改为edit,update,delete】 using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System

ASP.NET Button控件的UseSubmitBehavior属性引发的血案

这里先不说标题上的UseSubmitBehavior属性是什么,先说下面这种情况. 通常,在我们写一个表单页面的时候,最下方会有"提交"和"返回"字样的两个按钮.顾名思义,它们的功能大家都知道,但是一般情况下我们会给表单的内容加上一些验证,这样就出现了一个问题.因为两个按钮是服务器控件(有runat="Server"属性),所以点击按钮之后会先进行验证(无论这里你用的是前台的jQuery.validate验证或者是ASP.NET自带的后台验证控件

WPF编程之自定义Button控件样式

自.NET Framework 3.0 以后,WPF编程框架可使开发人员开发出更加令人耳目一新的桌面应用程序.它使开发工作更加方便快捷,它将设计人员和编程人员的工作分离开来.至于WPF的背景历史.框架特点.框架结构这里就不再赘述.有兴趣的同袍可在百度搜索关于WPF的相关知识介绍,如WPF. 在微软在WPF框架里提供了一些基础功能各异的控件,例如Button.TextBox.Label.Panel.TextBlock等等.微软将这些组件可视化集成到Visual Studio集成开发工具中了,这在实

C# winform窗体简单保存界面控件参数到xml

原文:C# winform窗体简单保存界面控件参数到xml 引用网上的 XMLHelper 地址 :https://www.cnblogs.com/chnboy/archive/2009/04/02/1427652.html 稍做修改 using System; using System.Linq; using System.Xml; namespace FormTest { /// <summary> /// XMLHelper XML文档操作管理器 /// </summary>

Button控件

从最简单的开始写起: 首先先从工具性中拖入一个Button控件,然后可以在其属性面板之中更改其自身的属性. 当然也可用直接在代码编辑界面进行直接的编辑添加,如果有什么属性不清楚,可在属性面板中查看一下,然后可以用代码直接编写,和在属性面板中更改的是一样的. 之后可以编辑控件的事件了,其中Button有Click事件和Command事件,在这里就只写Click事件. 代码: 1 <asp:Button ID="Button1" runat="server" Te

VB.NET 章鱼哥出品--入门基础Button控件的使用详解(一)

全网最全的Button控件详解!!!Button 按钮是VB.NET 中最基础,也是最常用的控件,不管你是初学者还是大牛.每个程序中必然少不了Button按钮.但是Button控件有很多用法很多大牛却不见得知道.用的最多的无非就是在点击事件中处理程序,今天我将使用2到3篇文章的篇幅来详细讲解Button按钮的用法.      '作者:章鱼哥,QQ:3107073263 群:309816713            '如有疑问或好的建议请联系我,大家一起进步     1,属性(以最常用的开始) (

Winform中子线程访问界面控件时被阻塞解决方案

public partial class WebData_Import : Form { //声明用于访问主界面的委托类型 public delegate void deleGetOrderdata(string info); //声明访问主界面委托类型的变量 public deleGetOrderdata OptGetOrderData; int CompanyID = 0; public WebData_Import() { InitializeComponent(); cmbCompany

纯代码创建Button控件:

纯代码创建Button控件: // 创建按钮 UIButton *btn = [[UIButton alloc] init]; // 添加按钮 [self.view addSubview:btn]; // 设置frame btn.frame = CGRectMake(50, 50, 100, 100); // 设置背景图片 // 通过文件名加载图片(凡是PNG图片,都不用加拓展名) UIImage *normal = [UIImage imageName:@“btn_01”]; // 设置普通状

combobox和textbox中输入数据为非数字leave时的公用事件,只需要在控件的leave事件中选择本事件即可

private void tbORcbb_leave(object sender, EventArgs e)        {            if (typeof(TextBox).IsInstanceOfType(sender))            {                if (((TextBox)sender).Text.IsNumeric() != true)                {                    ((TextBox)sender)