这个INI配置文件在C#的Winform程序中怎么读取并把其中的值赋予控件

这个INI配置文件在C#的Winform程序中怎么读取并把其中的值赋予控件,第1张

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中配置一个节点读取本地文件夹的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9740020.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存