C# 多打开文件提示

C# 多打开文件提示,c#,openfiledialog,C#,Openfiledialog,我正在编写一个windows窗体应用程序,其中有多个文件打开按钮&我不想多次编写同一个openfile对话框。因此,我使用代码跟踪哪个按钮引发了openfile\u click事件。我的代码如下:- private void SelectFile_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog(); if (ofd.ShowDialog() != DialogRes

我正在编写一个windows窗体应用程序,其中有多个文件打开按钮&我不想多次编写同一个openfile对话框。因此,我使用代码跟踪哪个按钮引发了openfile\u click事件。我的代码如下:-

    private void SelectFile_Click(object sender, EventArgs e)
    {
        var ofd = new OpenFileDialog();

        if (ofd.ShowDialog() != DialogResult.OK) return;
        if (sender == Fbutton1)
        {
            FtextBox1.Text = ofd.FileName;
            ofd.Dispose();
        }

        else if (sender == Fbutton2)
        {
            FtextBox2.Text = ofd.FileName;
            ofd.Dispose();
        }
        else if (sender == Tbutton1)
        {
            TtextBox1.Text = ofd.FileName;
            ofd.Dispose();
        }
        else
        {
            ofd.Dispose();
        }
    }
}
一切正常,我可以根据自己的选择选择文件,但当我一个接一个地选择了3-4个文件后,只要单击文件打开按钮,openfile对话框就会提示2-3次,即使我单击对话框右上角的OK或cancel或red cross按钮,我也无法理解,是什么在一次单击事件中多次启动此对话框。
提前感谢。:)

所提供的代码中没有任何内容表明它将多次显示
ofd
。请提供。此行为最可能的原因是您多次注册/调用此事件。另外,为了简化处理
ofd
。谢谢Eugene Podskal,我给你完整的form2.cs文件,其中包含上述代码片段,请帮助我找出错误并纠正它。“完整的form2.cs文件”可能不是所指的。我向你保证Eugene,它(form2.cs)是:),不包括一些临时字符串资源。请,请看一下我更新的代码。代码很大,所以我把它们作为我自己的答案