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);
            }
        }
    }

このエディターでは、多くのプレーン テキストが必要になると思います。

4

2 に答える 2

5

ShowDialog() への呼び出しが返された後に、イベント ハンドラーを追加しています。それを前に移動すると、うまくいくかもしれません。

于 2013-10-04T15:35:36.140 に答える
2

ドキュメントによると、[開く] または [保存] ボタンをクリックすると 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);
        }
    }
}
于 2013-10-04T15:36:30.730 に答える