C# 批量导入帐号文件并使其按序排列显示在listbox中

来源:互联网 发布:精睿网络 编辑:程序博客网 时间:2024/06/04 20:11
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)        {            CheckForIllegalCrossThreadCalls = false;            button3.Enabled = false;            string count = "";            button2.Enabled = false;            OpenFileDialog file = new OpenFileDialog();            file.Filter = "文本文件|*.txt";         //预设选择文件的类型.为*.txt            file.RestoreDirectory = true;           //在关闭对话框前使其目录初始化,不写也可以,自己目前是没发觉有什么用            try            {                if (file.ShowDialog() == DialogResult.OK)                {                    toolStripStatusLabel1.Text = "正在导入,请稍后...";                    StreamReader sr = new StreamReader(file.FileName);                    string strline = sr.ReadLine();                    while (strline != null)                    {                        string[] str = strline.Split('|');                        Admin admin = new Admin();    //这里其实是自己写的一个类.下面有代码,很简单,就两句话                        admin.name = str[0];                        admin.pwd = str[1];                        lstAdmin.Add(admin);          //这里就是个LIST列表,把每个帐号的信息都加载进列表中                        listBox1.Items.Add(str[0] + "|" + str[1]);  //把此行读取的内容显示在listBox中                        strline = sr.ReadLine();      //这里不知道该怎么解释.基础知识不是很好,只知道如果不加这句的话是死循环,只会读取第一行的内容.不往下读                    }                    sr.Close();                    count = lstAdmin.Count.ToString();   //把加载进listBox中的信息总数赋给变量count                    toolStripStatusLabel1.Text = "当前账户:" + count;                }            }            catch            {                toolStripStatusLabel1.Text = "导入文件有误!";            }            button2.Enabled = true;            button3.Enabled = true;        }


class Admin    {        public string name        { get; set; }        public string pwd        { get; set; }    }


上面就是我写的一个方法.写在backgroundWorker中是因为如果导入文件数据量过大的话不至于导致程序卡死.(好像是废话.说多了..不过我确实只是个新手.按照我的理解来吧)

把知识点基本上都写在备注中了.这只是我在网上自己找的方法进而综合起来的东西.如果有更好的办法请多指教