C#操作INI配置文件示例

源文件地址:http://pan.baidu.com/share/link?shareid=2536126078&uk=1761850335 创建如图所示的控件: 

源代码:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Runtime.InteropServices;

namespace WindowsFormsApplication3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

[DllImport("kernel32.dll")]

private static extern long WritePrivateProfileString(string section, string key, string value, string filepath);

[DllImport("kernel32.dll")]

private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder returnvalue,intbuffersize,string filepath);

private string IniFilePath;

private void Form1_Load(object sender, EventArgs e)

{

comboBox1.Text = "男";

for (int i = 1; i <= 100; i++)

{

comboBox2.Items.Add(i.ToString());

}

comboBox2.Text = "18";

IniFilePath = Application.StartupPath + "\\Config.ini";

}

private void button1_Click(object sender, EventArgs e)

{

if ((textBox1.Text.Trim() != "") && (textBox2.Text.Trim() != ""))

{

string Section = "Information";

try

{

WritePrivateProfileString(Section, "Name", textBox1.Text.Trim(), IniFilePath);

WritePrivateProfileString(Section, "Gender", comboBox1.Text, IniFilePath);

WritePrivateProfileString(Section, "Age", comboBox2.Text, IniFilePath);

WritePrivateProfileString(Section, "Region", textBox2.Text.Trim(), IniFilePath);

}

catch (Exception ee)

{

MessageBox.Show(ee.Message);

}

}

else

{

MessageBox.Show("姓名或地区不能为空!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

private void button2_Click(object sender, EventArgs e)

{

string outString;

try

{

GetValue("Information", "Name", out outString);

textBox1.Text = outString;

GetValue("Information", "Gender", out outString);

comboBox1.Text = outString;

GetValue("Information", "Age", out outString);

comboBox2.Text = outString;

GetValue("Information", "Region", out outString);

textBox2.Text = outString;

}

catch (Exception ee)

{

MessageBox.Show(ee.Message);

}

}

private void GetValue(string section,string key, out string value)

{

StringBuilder stringBuilder = new StringBuilder();

GetPrivateProfileString(section, key, "", stringBuilder, 1024, IniFilePath);

value = stringBuilder.ToString();

}

private void button3_Click(object sender, EventArgs e)

{

textBox1.Text = "";

comboBox1.Text = "男";

comboBox2.Text = "18";

textBox2.Text = "";

}

}

}

 运行结果:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据分析

Button和This的DialogResult

今天早操作WinForm时遇到了一个问题,在此和大家分享一下。 场景:在一个WinForm:A中通过按钮打开另外一个WinForm:B,A通过判断B中点击“OK...

3234
来自专栏跟着阿笨一起玩NET

关于MDI窗体的那些问题

如果Main窗口为MDI窗口,只需要设置属性IsMdiContainer为Ture;弹出来的窗体添加如下代码就可以让子窗口在父窗体中嵌套弹出。

582
来自专栏向前进

Flexbox 练习和总结

练习地址: http://flexboxfroggy.com/ Welcome to Flexbox Froggy, a game where you help...

43010
来自专栏程序生活

Tensorflow教程(十四) 命令行参数tf.flags的使用

自己查了很多关于tensorflow命令行教程,大多都和实例2相似,对于强迫症的我,忍不了,以后统一成实例1用了。

803
来自专栏腾讯Bugly的专栏

《iPhone X ARKit Face Tracking》

有幸去 Cupertino 苹果总部参加了 iPhone X 的封闭开发,本文主要分享一下iPhone X上使用 ARKit 进行人脸追踪及 3D 建模的相关内...

3873
来自专栏每日一篇技术文章

VR+全景播放器+头控讲解-06

在UIView上面布局我们可以使用UIButton UIView UIImageView等,但是是在3D场景中,我们不能使用UIView,我们要使用平面几何当视...

611
来自专栏浅探ARKit

ARKit同时检测水平平面和竖直平面

ARKit1.5里,新增了检测竖直平面的功能。为此特意写一个demo。 下面是效果图: [IMG_3728.PNG] 和之前的水平平面相比 其实就是把多一个属性...

38110
来自专栏腾讯Bugly的专栏

《 iPhone X ARKit Face Tracking 》

iPhone X前置深度摄像头带来了 Animoji 和 face ID,同时也将 3D Face Tracking 的接口开放给了开发者。本文主要分享一下 i...

7830
来自专栏智能计算时代

Best Bluemix Content

image.png Watson Services for Bluemix Sample Apps: Watson Films App (Video) Wats...

2524
来自专栏前端儿

车牌号

茵茵很喜欢研究车牌号码,从车牌号码上可以看出号码注册的早晚,据研究发现,车牌号码是按字典序发放的,现在她收集了很多车牌号码,请你设计程序帮她判断注册较早的号码。...

731

扫码关注云+社区