c#读取TXT文本内容问题,请高手能给解答一下

wgejydy 2009-12-16 10:37:56
我有一个文本内容,是这样的格式:

[老师信息]
姓名=华教授
性别=男
年龄=58

[学生信息]
学生甲=男|25岁|物理
学生乙=男|24岁|化学
学生丙=女|23岁|数学
学生丁=女|24岁|语文

我想实现在C#窗中得到这样的结果

label1.Text=老师信息
textBox1.Text=华教授
textBox2.Text=男
textBox3.Text=58
label2.Text=学生信息
comboBox1的下拉列表内容为:
学生甲
学生乙
学生丙
学生丁

下拉列表选择一个以后,比如选择了“学生甲”
textBox4.Text=男
textBox5.Text=25岁
textBox6.Text=物理
每选择一次 其中的textBox4-textBox6的内容相应变化
如何实现呢?


...全文
1451 64 打赏 收藏 转发到动态 举报
写回复
用AI写文章
64 条回复
切换为时间正序
请发表友善的回复…
发表回复
nashina 2009-12-17
  • 打赏
  • 举报
回复
http://community.csdn.net/
你在这个地方下载吧,这个是INI配置文件操作类库;
我把这个类库给抽离出来了;
或者你给我个邮箱,我给你发过去
nashina 2009-12-17
  • 打赏
  • 举报
回复
http://download.csdn.net/source/1796295
这个客户端的源代码你可以下载下来看下,里面有INI操作的完整类库,可以直接使用;
也可以参考下软件中是怎样使用的
LutzMark 2009-12-17
  • 打赏
  • 举报
回复
用文件的话推荐用哈希表存储并二进制序列化
nashina 2009-12-17
  • 打赏
  • 举报
回复
发送了,收到给回个信;
不行就去告你的网址自己下载吧
wgejydy 2009-12-17
  • 打赏
  • 举报
回复
我的邮箱是34078194@qq.com
谢谢
fyanglexh 2009-12-16
  • 打赏
  • 举报
回复

if (str[i] == null || str[i].Equals(""))
{
continue;
}

if (bjMsg==null)
{
continue;
}


我又着重加了以上两个判断。希望如果再有类似的情况,你也加上类似的判断。
fyanglexh 2009-12-16
  • 打赏
  • 举报
回复
麻烦你对照下面的修改下。可能你读取的行有空值的原因。空值的地方要加入判断处理。

private void Form1_Load(object sender, EventArgs e)
{
string[] str= File.ReadAllLines("C:\\fy-zhf-tst\\1.text");
string bjMsg = null;
ComboBox comboBox1 = new ComboBox();
Form.ControlCollection clist = new ControlCollection(this);
for (int i = 0; i < str.Length; i++)
{
if (str[i] == null || str[i].Equals(""))
{
continue;
}
if (str[i].Equals("教师信息"))
{
Label lb1 = new Label();
lb1.Text = "教师信息";
bjMsg = "教师信息";
}
else if (str[i].Equals("学生信息"))
{
Label lb2 = new Label();
lb2.Text = "学生信息";
bjMsg = "学生信息";
}
else
{
if (bjMsg==null)
{
continue;
}
if (bjMsg.Equals("教师信息"))
{
Control[] txt=clist.Find("txt"+i,false);
txt[0].Text = str[i].Split('=')[1].ToString();
}
if (bjMsg.Equals("学生信息"))
{
comboBox1.Items.Insert(i, str[i].Split('=')[0].ToString());
string s2 = str[i].Split('=')[1].ToString();
Control[] txt = clist.Find("txt" + i, false);
txt[0].Text = str[i].Split('=')[1].ToString();
}
}
}

}

wgejydy 2009-12-16
  • 打赏
  • 举报
回复
主要是想用TXT实现
Taiyangchen 2009-12-16
  • 打赏
  • 举报
回复
用xml操作比较好
  • 打赏
  • 举报
回复
等待高手解答
wgejydy 2009-12-16
  • 打赏
  • 举报
回复
难道是没有找到?
fyanglexh 2009-12-16
  • 打赏
  • 举报
回复
System.NullReferenceException: 未将对象引用设置到对象的实例。

代表bjMsg仍为Null.

我的QQ:1251664145
xzhwei168 2009-12-16
  • 打赏
  • 举报
回复
cmbobox的事件有个TextChanger双击它然后在里面写代码
wgejydy 2009-12-16
  • 打赏
  • 举报
回复
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.NullReferenceException: 未将对象引用设置到对象的实例。
在 传世登陆器.Form1.button3_Click(Object sender, EventArgs e) 位置 E:\c#软件\传世登陆器\传世登陆器\传世登陆器\Form1.cs:行号 82
在 System.Windows.Forms.Control.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
在 System.Windows.Forms.Button.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 已加载的程序集 **************
mscorlib
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
基本代码: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
传世登陆器
程序集版本: 1.0.0.0
Win32 版本: 1.0.0.0
基本代码: file:///E:/c%23软件/传世登陆器/传世登陆器/传世登陆器/bin/Debug/传世登陆器.exe
----------------------------------------
System.Windows.Forms
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
基本代码: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
基本代码: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
基本代码: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
基本代码: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
基本代码: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
mscorlib.resources
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
基本代码: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
System.Windows.Forms.resources
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
基本代码: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_zh-CHS_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。

例如:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

启用 JIT 调试后,任何无法处理的异常
都将被发送到在此计算机上注册的 JIT 调试器,
而不是由此对话框处理。


fyanglexh 2009-12-16
  • 打赏
  • 举报
回复
跟踪下,bjMsg的赋值情况。。。
fyanglexh 2009-12-16
  • 打赏
  • 举报
回复
提示什么错误?
wgejydy 2009-12-16
  • 打赏
  • 举报
回复
if (bjMsg.Equals("教师信息"))

老提示这句出错是何原因
wgejydy 2009-12-16
  • 打赏
  • 举报
回复
如何操作呢
jmghoul 2009-12-16
  • 打赏
  • 举报
回复
如果有多个学生 就全局定义一个参数类集合 List<参数类名> 集合变量
根据集合变量.学生名来判断是哪个学生
ztenv 2009-12-16
  • 打赏
  • 举报
回复
<TeacherInfo>
<Theacher name="华教授" Sex="男" Age="58"/>
</TeacherInfo>
<StudentInfo>
<Student name="学生a" Sex="男" Age="25">
<Study Item="物理"/>
<Study Item="化学"/>可以添加多个科目。。。。。
</Student>
</StudentInfo>
加载更多回复(43)

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧