文本文件名字叫 HOUSE.txt ,内容就是:
Rectangle
50
200
300
300
Line
200
50
0
250
Line………..总之就是根据这些文本信息去画出对应的图像。如何根据这些数字画出对应图像我已经很明白了,但是如何让我的visual studio能自动读取并执行呢?我从工具栏里往form上拖了个menustrip和openFileDialog1,设置了“open”的item,请问是直接双击它输入代码?还是在别的地方输入?比如openFileDialog1???
顺便帮我看看我目前为止有无错误吧!
 const string Filter = "Text Files (*.txt)|*.txt|" + "All Files (*.*)|*.*";
            string dir = @"J:\";
            string path = dir + "HOUSE.txt";
            StreamReader textIn =
                new StreamReader(
                    new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read));
            string objectType;
            
            Graphics paper = pictureBoxDisplay.CreateGraphics();
            Pen pen1 = new Pen(Color.Blue, 2);
            StreamReader reader;
            reader = File.OpenText("HOUSE.txt");
            openFileDialog1.Filter = Filter;
            
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                reader = File.OpenText(openFileDialog1.FileName);
                while (reader.Peek() != -1)
                {
                    objectType = reader.ReadLine();

解决方案 »

  1.   

    用StreamReader这个类 
    StreamReader   sr   =   new   StreamReader(filePath); 
    String   txtStr   =   sr.ReadToEnd(); 
    就把文件里所有的内容都读近来了 
    sr.ReadLine()方法是每次读一行 
    具体看msdn 
      

  2.   

    基于资源的合理申明和释放,我觉得应该先show出Dialog再申明一些Graphics进行操作。
    基本上就是读一下画一个的问题了。
      

  3.   

    楼主,这个txt文件格式很友好,有规律,从你给出的部分内容来看,应该是起始和终止点的坐标!逐行扫描,并区分“关键字”,如:Rectangle、Line、Circle等
    建议你定义一个类或结构,保存这些信息:
    public class Shape
    {
          int type;                     //0,1,2,3。对应直线、矩形、圆      List<Point> ptList;     //存储图形对象坐标
    }解析完后,统一写个函数,根据存储的图形对象的类型,调用Graphics.Draw系列函数画图!
      

  4.   

    LZ读取txt的内容这样吧if (File.Exists(@"../../test.txt"))//路径和文件类型自己设置
                {
                    StreamReader sr = new StreamReader(@"../../test.txt", true);                string str = sr.ReadLine();
                    if (str != null)
                    {
                        txtZhangHao.Text = str.Trim();
                    }
                    sr.Close();
                }
      

  5.   

    读取文件,我相信你会。就是读取完了,不会处理这些信息而已。
    创建一个Line的对象。public class Line { public int x1; public int y1; public int x2; public int y2; public Line() {} }
    创建一个对象列表:List<object> objectlist = new List<object>;
    每次读取一行,判断
    1)如果是文字Rectangle,则连续读取4行,
    然后创建一个Rectangle的实例,并添加到objectlist里。
    2)如果文字是Line,则连续读取4行,
    然后创建一个Line的实例,并添加到objectlist里。

    等把文件都处理完了,遍历objectlist,判断每个元素是Rectangle的就画矩形,是Line,就画线
      

  6.   

    http://blog.csdn.net/krenyelang/article/details/6758337
      

  7.   


            /// <summary>
            /// 读取文本文件
             /// </summary>
            /// <param name="Ppath"></param>
            /// <param name="Pmess"></param>
            /// <returns></returns>
            public static List<string> ReadTxtFile(string Ppath, out string Pmess)
            {
                //抛出信息
                Pmess = "";            
                List<string> Alist = new List<string>();//读取前准备            //连接
                try
                {
                    FileStream Afs = new FileStream(Ppath, FileMode.Open);
                    StreamReader Asr = new StreamReader(Afs, Encoding.GetEncoding("gb2312"));                try
                    {
                        string AstrLine = "";
                        //开始读取
                        while (AstrLine != null)
                        {
                            AstrLine = Asr.ReadLine();
                            if (AstrLine != null && AstrLine.Trim().Length > 0)
                            {
                                Alist.Add(AstrLine);
                            }
                        }
                        //关闭读取流
                        Asr.Close();
                        Afs.Close();
                        return Alist;
                    }
                    catch (Exception ex)
                    {
                        Pmess = ex.Message;
                        return Alist;
                    }
                }
                catch (Exception exOut)
                {
                    Pmess = exOut.Message;
                    return Alist;
                }
            }
    1.读取txt文件返回List<string>
    2.out 异常信息
    3.原创 一直用这个方法
      

  8.   

    请问,是给open这个menu item写代码还是给其它东西写代码???