if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {  //StreamWriter
                StreamReader sr = new StreamReader(openFileDialog1.FileName, System.Text.Encoding.Default);
                
               string line=null;
               while ((line = sr.ReadLine()) != null)
               {
                   textBox1.Text += sr.ReadLine()+"\r\n";
                   MessageBox.Show(textBox1.Text);
               }                    
               //line = sr.ReadToEnd();
               //textBox1.Text = line;
               //sr.Close();            }

解决方案 »

  1.   

    if (openFileDialog1.ShowDialog() == DialogResult.OK) 
                {  //StreamWriter 
                    StreamReader sr = new StreamReader(openFileDialog1.FileName, System.Text.Encoding.Default); 
                    
                  string line=null; 
          int i =0;
                  while ((line = sr.ReadLine()) != null and i%2==0) 
                  { 
                      textBox1.Text += sr.ReadLine()+"\r\n"; 
                      MessageBox.Show(textBox1.Text); 
                  }                    
                  //line = sr.ReadToEnd(); 
                  //textBox1.Text = line; 
                  //sr.Close();             }
      

  2.   

    小作改动,这样就每次读取两行数据了。
                  while ( sr.ReadLine() != null && (line = sr.ReadLine()) != null) 
                  { 
                      textBox1.Text += sr.ReadLine()+"\r\n"; 
                      MessageBox.Show(textBox1.Text); 
                  } 
      

  3.   

    string line=null;
    int flag=0; 
                  while ((line = sr.ReadLine()) != null) 
                  { 
                      if(flag==0)
                      {
                          flag=1;
                      }
                      else
                      {
                           textBox1.Text += line+ "\r\n";
                           MessageBox.Show(line); 
                           flag=0;
                       }  
                   }
      

  4.   

     int i =0;
                  while ((line = sr.ReadLine()) != null && i%2==0) 
                  { 
                      i++;
                      textBox1.Text += sr.ReadLine()+"\r\n"; 
                      MessageBox.Show(textBox1.Text); 
                  }     
      

  5.   


    晕倒,我只是想表达那个意思,没注意到他在循环内部还有个sr.ReadLine,完全没有必要出现那个,直接用line赋值即可,这样就可以了,不会出现任何异常:              while ( sr.ReadLine() != null && (line = sr.ReadLine()) != null) 
                  { 
                      textBox1.Text += line + "\r\n"; 
                      MessageBox.Show(textBox1.Text); 
                  } 
      

  6.   

    File.ReadLines(); 将文件的数据一次性读入内存,返回的是一个string []