2013-10-04 86 views
1

我有这个代码,但它不工作。我尝试了几个不同的版本,但没有任何工作。我是一个新手,仍然不明白一切。为什么我的列表框没有被填充?

OpenFileDialog filedialog = new OpenFileDialog(); 

    private void button3_Click(object sender, EventArgs e) 
    { 

     filedialog.ShowDialog(); 
     filedialog.FileOk += filedialog_FileOk; 
    } 

    void filedialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e) 
    { 
     using (StreamReader myStream = new StreamReader(filedialog.FileName)) 
     { 
      string line; 
      // Read and display lines from the file until the end of 
      // the file is reached. 
      while ((line = myStream.ReadLine()) != null) 
      { 
       listBox1.Items.Add(line); 
      } 
     } 
    } 

我觉得在这个编辑器中需要很多纯文本。

回答

5

您在之后添加了对ShowDialog()的调用返回的事件处理程序。把它移到之前,它可能会工作。

+0

感谢的人,它的工作 – somethingSomething

2

根据documentation,单击打开或保存按钮时会发生FileOK事件。 您正在点击内部附加事件处理程序。 您可能希望在页面加载时或在之前的某处发生点击。

如:

OpenFileDialog filedialog = new OpenFileDialog(); 
protected void Page_Load(object sender, EventArgs e) 
{ 
    filedialog.FileOk += filedialog_FileOk; 
} 
private void button3_Click(object sender, EventArgs e) 
{ 
    filedialog.ShowDialog();   
} 
void filedialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e) 
{ 
    using (StreamReader myStream = new StreamReader(filedialog.FileName)) 
    { 
     string line; 
     // Read and display lines from the file until the end of 
     // the file is reached. 
     while ((line = myStream.ReadLine()) != null) 
     { 
      listBox1.Items.Add(line); 
     } 
    } 
} 
相关问题