C#桌面应用程序(数据绑定)

C#桌面应用程序(数据绑定),c#,file,data-binding,desktop-application,C#,File,Data Binding,Desktop Application,我想创建一个简单的c#桌面应用程序,将用户输入的记录存储/检索到文本文件中。假设每条记录有三个字段,即组名、记录标题和记录消息。所以基本上文本文件有多条记录,每条记录都有一组标记,如下所示 Group A Header title 1A message 1A Header title 2A message 2A Header title 3A message 3A ....... ....... ....... ....... .......

我想创建一个简单的c#桌面应用程序,将用户输入的记录存储/检索到文本文件中。假设每条记录有三个字段,即组名、记录标题和记录消息。所以基本上文本文件有多条记录,每条记录都有一组标记,如下所示

Group A

Header title 1A  message 1A
Header title 2A  message 2A
Header title 3A  message 3A
.......          ....... 
.......          .......
.......          .......
Group B

Header title 1B  message 1B
Header title 2B  message 2B
Header title 3B  message 3B
.......          ....... 
.......          .......
.......          .......
Group C

Header title 1C  message 1C
Header title 2C  message 2C
Header title 3C  message 3C
.......          ....... 
.......          .......
.......          .......

Group D

.......          .......
.......          .......

desktopm窗口将有3列,第一列应列出所有组,第二列将列出所选组中的所有记录(来自第1列),第三列详细显示在第二列中选择的单个记录。请就如何实施这一点提供您的建议?非常感谢所有示例和教程。

您最好使用XML

C#具有非常好的特性,允许您将XML转换为C#对象,反之亦然(无需进行任何手动解析)


另外,这个问题有点太笼统了。您最好自己尝试miplement应用程序,然后返回具体问题。

您将需要三个基本组件:

  • 数据的模型。这可能包括
    类和
    记录
    类,其中
    包括类似
    GetRecords()
    方法或
    记录
    属性的内容(为数据绑定返回
    IList
  • 一种解析器,它将读取文件的行并构造这些
    对象的集合,可能以
    字典
    或您自己的
    组集合
    实现的形式
  • 一个GUI(duh),具有两个列表框和一些用于单个
    记录的自定义显示控件
  • 对于第一个列表框,您可能会将
    DataSource
    属性设置为
    Group
    对象的集合(如果我没有弄错的话,这将需要实现
    IList

    处理第一个列表框的
    SelectedIndexChanged
    事件,并将第二个列表框上的
    DataSource
    设置为所选
    组的
    GetRecords()
    /
    记录的结果

    处理第二个
    列表框的
    SelectedIndexChanged
    事件,并在自定义控件中显示所选记录的详细信息


    无论如何,这就是我的方法。

    为什么要使用文本文件来存储数据?为什么不使用一个基于文件的数据库,这将使事情变得更简单。如果我是你,我会使用SQLite甚至SQLCE@kassem,我所考虑的应用程序需要处理键盘输入,并且经常需要重写用户输入,因此数据检索机制应该是快速的。而且我对C#很陌生。也许不确定SQLite是否是一个好的选择。