IO
中的streamreader
可以实现。
别人的先借来用用,不妨试试
StreamReader
streamReader
=
new
StreamReader("名称ini");
while
(streamReaderPeek()
>
0)
{
string
line
=
streamReaderReadLine()Trim();
int
index
=
lineIndexOf("某个内容");
if
(index
>=
0)
{
lblBoxIDText
=
lineSubstring(index
+
6);
break;
}
}
你的意思是不是说写了一个C#Windows窗体程序,在程序中读取一个ini账号密码配置文件,又把这程序做成开机自启动,程序会报错?但是直接点击启动应用程序时可以读取ini文件?如果是的话,没人看得到你的源码,谁也回答不了你。真的要有意义的回答,请贴上你的相关代码供参考!
从这个代码上看,既然直接执行程序可以读取Configlandini文件,那证明读取文件的方法是可以的。但是问题可能出在iniFileReadInivalue这个方法中。也许读取文本需要特定的文本格式,但开机时候这个文本的初始化工作没做好。这样吧,你开机以后如果还是显示不能读取文件,先直接把那个ini文件拷贝出来。再直接执行一下应用程序,如果这时候一切正常,在比较一下原先的文件与现在的ini文件有什么不同。如果确实文本不一样,那读取方法就会出错。
右键点击你的项目--Add--New Item--选择Application Configuration File,请保持默认名称,否则你的程序读取Appconfig时得到的值是空的。
打开Appconfig,添加应用程序设置的5个键值
first_run: 应用程序第一次正常启动
server: 服务器IP
database: 数据库名称
uid: 数据库用户名
pwd: 数据库密码
数据库服务器配置在程序首次启动时的值都是空的
右键点击项目中的应用,添加一个引用SystemConfiguration,然后再你需要访问配置文件的类顶部添加 using SystemConfiguration 引用
读取Appconfig,判断是不是第一次运行,如果是第一次运行就启动配置窗体,如果不是,就读取上次配置成功的数据库服务器参数,中间的部分判断代码省略,下面的代码主要是读取
创建一个窗体提供用户输入数据库服务器的配置项
6
点击配置窗体的尝试连接,如果连接成功就表明用户输入的配置项是正确的,那么就把这些配置项更新保存到Appconfig,一下是更新保存的代码
供参考:
1自定义一个
配置文件
(config/txt),比如:在BIN目录下生成一个settingconfig,通过winform界面把配置参数全部保存到这里面来。
2保存到appconfig中,可以把一些配置参数保存到appconfig,这样在窗体编译的时候,appconfig
会自动生成到BIN目录下。
3保存到数据库指定的表,比如:D_DataBase/T_Setting表,可以通过winform界面把参数全部保存到数据库指定的表中。
4保存到注册表中。
第1个,配置文件完全可以手写,你可以自己建立一个config文件(不一定要命名为webconfig,否则你将遵循该文件自己的规范),里面只需要满足xml的基本规范就行了(顶部xml声明,下面标签成对出现)
第2个,给你个建议
<xml version="10" encoding="utf-8">
<controls>
<control>
<size>20</size>
<position>center</position>
</control>
<control>
<size>50</size>
<position>left</position>
</control>
</controls>
第3个,怎么读取xml不知道你了解不,用到SystemXml命名空间,以第2个的例子,找到下面所有control节点,每个节点对应一个按钮
using System;
using SystemXml;
using SystemWebUIWebControls;
public partial class test : SystemWebUIPage
{
protected void Page_Load(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
docLoad(ServerMapPath("你的配置文件路径"));
XmlNodeList nol = docSelectNodes("/controls/control");
foreach (XmlNode no in nol)
{
Button btn = new Button();
btnText = noSelectSingleNode("text")InnerText;
//以此类推
//如果需要指定Button的点击事件,则需要用到委托
btnClick += new EventHandler(btnClick);
//将Button添加到页面,也可以是其他服务器控件
PageControlsAdd(btn);
}
}
protected void btnClick(object sender, EventArgs e)
{
ResponseWrite("按钮被点击了");
}
}
另外,如果你不只创建按钮,而需要自定义控件类型,那么可能还需要用到反射,建议你可以在xml中定义一个节点<type>button</type>,<type>text</type>,用来标志类型,只需要放入常见的一些控件类型,然后创建时做个switch判断就行了,反射效率低些而且处理也复杂
配置文件中的节点:
<appSettings>
<add key="test" value="testValue"/>
</appSettings>
代码:
string _value=SystemConfigurationConfigurationManagerAppSettings["test"]ToString();
以上就是关于这个INI配置文件在C#的Winform程序中怎么读取并把其中的值赋予控件全部的内容,包括:这个INI配置文件在C#的Winform程序中怎么读取并把其中的值赋予控件、C# Winform获取INI文件信息失败、winform中怎么在app.config中配置一个节点读取本地文件夹的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)