用c#读写ini文件(源码)

    技术2026-04-15  1

    using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Runtime.InteropServices; using System.IO; using System.Text;

    namespace ex84_readWriteIni {  /// <summary>  /// Form1 的摘要说明。  ///   /// zhanghua 2005-7-28  ///  /// </summary>  ///  public class Form1 : System.Windows.Forms.Form  {   /// <summary>   /// 必需的设计器变量。   /// </summary>   private System.ComponentModel.Container components = null;

      public Form1()   {    //    // Windows 窗体设计器支持所必需的    //    InitializeComponent();

       //    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码    //   }

      /// <summary>   /// 清理所有正在使用的资源。   /// </summary>   protected override void Dispose( bool disposing )   {    if( disposing )    {     if (components != null)     {      components.Dispose();     }    }    base.Dispose( disposing );   }

      #region Windows 窗体设计器生成的代码   /// <summary>   /// 设计器支持所需的方法 - 不要使用代码编辑器修改   /// 此方法的内容。   /// </summary>   private void InitializeComponent()   {    this.button1 = new System.Windows.Forms.Button();    this.SuspendLayout();    //    // button1    //    this.button1.Location = new System.Drawing.Point(192, 112);    this.button1.Name = "button1";    this.button1.TabIndex = 0;    this.button1.Text = "button1";    this.button1.Click += new System.EventHandler(this.button1_Click);    //    // Form1    //    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);    this.ClientSize = new System.Drawing.Size(292, 273);    this.Controls.Add(this.button1);    this.Name = "Form1";    this.Text = "Form1";    this.Load += new System.EventHandler(this.Form1_Load);    this.ResumeLayout(false);

      }   #endregion

      /// <summary>   /// 应用程序的主入口点。   /// </summary>   [STAThread]   static void Main()   {    Application.Run(new Form1());   }

      /// <summary>   /// 添加GetPrivateProfileInt等6个API函数的声明和FILE_NAME常量的声明   /// </summary>   //declare begin  by zhanghua   [DllImport("kernel32")]    private static extern int GetPrivateProfileInt(       string  lpApplicationName,       string lpKeyName,        int   nDefault,       string  lpFileName);   [DllImport("kernel32")]    private static extern bool GetPrivateProfileString(      string  lpApplicationName,      string  lpKeyName,      string  lpDefault,      StringBuilder   lpReturnedString ,      int     nSize,      string lpFileName);   [DllImport("kernel32")]    private static extern bool WritePrivateProfileString(      string  lpApplicationName,      string  lpKeyName,      string  lpString,      string  lpFileName);

      [DllImport("kernel32")]    private static  extern bool GetPrivateProfileSection(      string   lpAppName,      StringBuilder lpReturnedString,      int    nSize,      string   lpFileName );   [DllImport("kernel32")]    private static extern bool  WritePrivateProfileSection(      string  lpAppName,      string      lpString,      string  lpFileName);

      private System.Windows.Forms.Button button1;

      public const string FILE_NAME ="C://Visual Studio Projects//ex84_readWriteIni//test.ini";   // declare end           private void Form1_Load(object sender, System.EventArgs e)   {    if (File.Exists(FILE_NAME))    {     StringBuilder strCaption = new StringBuilder(256);     GetPrivateProfileString("Form", "Caption","Default Caption",      strCaption,      strCaption.Capacity,      FILE_NAME);     this.Text= strCaption.ToString();          int myWidth= GetPrivateProfileInt("Form", "Width", this.Width,FILE_NAME);     this.Width=myWidth;

        int myHeight= GetPrivateProfileInt("Form","Height", this.Height,FILE_NAME);     this.Height= myHeight;

        int  myLeft= GetPrivateProfileInt("Form","Left", this.Left,FILE_NAME);     this.Left=myLeft;

        int myTop = GetPrivateProfileInt("Form","Top", this.Top, FILE_NAME);

        this.Top=myTop;    }   }

      //当按钮被点击, 保存窗体的位置和大小信息到test.ini 文件中,响应代码如下:

      private void button1_Click(object sender, System.EventArgs e)   {    string  strCaption = this.Text;    WritePrivateProfileString("Form", "Caption", strCaption, FILE_NAME);    WritePrivateProfileString("Form",  "Width", this.Width.ToString(), FILE_NAME);    WritePrivateProfileString("Form",  "Hight", this.Height.ToString(), FILE_NAME);    WritePrivateProfileString("Form",  "Left", this.Left.ToString(), FILE_NAME);    WritePrivateProfileString("Form",  "Top", this.Top.ToString(), FILE_NAME);   }

    最新回复(0)