我的ini文件内容很简单,用C#实现,
ini文件中的内容:
[间隔]
hour = 1
minute = 2
second = 3
请问,我怎样在我的程序里一启动的时候就调用ini文件中的内容,分别地显示在我的三个NumericUpDown中,然后如果有修改的话,能修改进来,比如修改为
[间隔]
hour = 4
minute = 5
second = 6
然后下次打开软件,就是4.5.6了,其实只要求个ini文件读写功能,求大家帮帮忙!

解决方案 »

  1.   


            [DllImport("kernel32.dll")]
            public static extern long WritePrivateProfileString(string section, string key, string val, string filePath);        [DllImport("kernel32.dll")]
            public static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int Size, string filePath);
          
    这两个API就可以帮你解决
      

  2.   

    用xml文件比ini文件还方便而且通用;
      

  3.   

    [DllImport("kernel32")]
    private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);
    [DllImport("kernel32")]
    private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);//api
      

  4.   

       
            [DllImport("kernel32.dll")]
            public static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
         
            [DllImport("kernel32.dll")]
            public static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int Size, string filePath);
          
            public void Writeini()
            {
                WritePrivateProfileString("间隔", "hour", "4", @"c:\1.INI");
                WritePrivateProfileString("间隔", "minute", "5", @"c:\1.INI");
                WritePrivateProfileString("间隔", "second", "6", @"c:\1.INI");
                           
            }
            public void Readini()
            {            StringBuilder _HourStr = new StringBuilder(500);
                GetPrivateProfileString("间隔", "hour", "", _HourStr, 500, @"c:\1.INI");            StringBuilder _MinuteStr = new StringBuilder(500);
                GetPrivateProfileString("间隔", "minute", "", _MinuteStr, 500, @"c:\1.INI");
                StringBuilder _SecondStr = new StringBuilder(500);
                GetPrivateProfileString("间隔", "second", "", _SecondStr, 500, @"c:\1.INI");            MessageBox.Show(_HourStr.ToString());
                MessageBox.Show(_MinuteStr.ToString());
                MessageBox.Show(_SecondStr.ToString());
            }读写就这样 很简单的.
      

  5.   

    using System.IO;
                string path = @"D:\n.ini";            if (Directory.Exists(Path.GetDirectoryName(path)))
                {
                    string[] aStr = File.ReadAllLines(path);
                }
      

  6.   

    zgke你好,请问
            public void Writeini() 
            { 
                WritePrivateProfileString("间隔", "hour", "4", @"c:\1.INI"); 
                WritePrivateProfileString("间隔", "minute", "5", @"c:\1.INI"); 
                WritePrivateProfileString("间隔", "second", "6", @"c:\1.INI"); 
                          
            } 
    这个里面的4、5、6现在是不可更改的,如果我在界面上更改了,想点确定就修改掉,这里应该换成什么?我分别用三个NumericUpDown表示的hour,minute,second
      

  7.   

        [DllImport("kernel32.dll")] 
            public static extern long WritePrivateProfileString(string section, string key, string val, string filePath); 
        
            [DllImport("kernel32.dll")] 
            public static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int Size, string filePath); 
          
            public void Writeini() 
            { 
                WritePrivateProfileString("间隔", "hour", "4", @"c:\1.INI"); 
                WritePrivateProfileString("间隔", "minute", "5", @"c:\1.INI"); 
                WritePrivateProfileString("间隔", "second", "6", @"c:\1.INI"); 
                          
            } 
            public void Readini() 
            {             StringBuilder _HourStr = new StringBuilder(500); 
                GetPrivateProfileString("间隔", "hour", "", _HourStr, 500, @"c:\1.INI");             StringBuilder _MinuteStr = new StringBuilder(500); 
                GetPrivateProfileString("间隔", "minute", "", _MinuteStr, 500, @"c:\1.INI"); 
                StringBuilder _SecondStr = new StringBuilder(500); 
                GetPrivateProfileString("间隔", "second", "", _SecondStr, 500, @"c:\1.INI");             MessageBox.Show(_HourStr.ToString()); 
                MessageBox.Show(_MinuteStr.ToString()); 
                MessageBox.Show(_SecondStr.ToString()); 
            } 读写就这样 很简单的.