2013-10-04 121 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); 
     } 
    } 
} 
相關問題