using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace WindowsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }        private void button1_Click(object sender, EventArgs e)
        {            openFileDialog1.Title = "Open Image File";
            openFileDialog1.Filter = "Bitmap Files|*.bmp";
            openFileDialog1.FileName = "";
            openFileDialog1.ShowDialog();
            textBox1.Text = openFileDialog1.FileName;
        }
    }
}
这是我的代码,但运行后openFileDialog不能用!请高手帮忙解答一下!

解决方案 »

  1.   

    这样
    //关闭之前看文件是否保存
            private void MyNotePad_FormClosing(object sender, FormClosingEventArgs e)
            {
                if (this.textBox1.Text != "")
                {
                    if (!File.Exists(this.Text))
                    {
                        DialogResult d = MessageBox.Show("文件 " + this.Text + @" 的文字已经改变。
    想保存文件吗?", "MyNotePad", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
                        switch (d)
                        {
                            case DialogResult.Yes:
                                using (SaveFileDialog saveDig = new SaveFileDialog())
                                {
                                    saveDig.Filter = @"文本文档(*.txt)|*.txt";
                                    saveDig.FileName = "*.txt";
                                    if (saveDig.ShowDialog() == DialogResult.OK)
                                    {
                                        StreamWriter sw = new StreamWriter(saveDig.FileName, false, System.Text.Encoding.Default);
                                        sw.Write(this.textBox1.Text);
                                        sw.Close();
                                        this.Text = saveDig.FileName;
                                    }
                                }
                                break;
                            case DialogResult.No:
                                break;
                            case DialogResult.Cancel:
                                break;                        default: System.Diagnostics.Debug.Assert(false);
                                break;
                        }
                    }
                }
            }本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LCL_data/archive/2009/06/11/4260509.aspx
      

  2.   

    你想要怎么用呢?
    想得到路径????那么openFileDialog1你少了一个事件,点击确定事件~!
      

  3.   

    using (SaveFileDialog saveDig = new SaveFileDialog())
                                {
                                    saveDig.Filter = @"文本文档(*.txt)|*.txt";
                                    saveDig.FileName = "*.txt";
                                    if (saveDig.ShowDialog() == DialogResult.OK)
                                    {
                                        StreamWriter sw = new StreamWriter(saveDig.FileName, false, System.Text.Encoding.Default);
                                        sw.Write(this.textBox1.Text);
                                        sw.Close();
                                        this.Text = saveDig.FileName;
                                    }
                                }
    你不试试?  if (saveDig.ShowDialog() == DialogResult.OK)
      

  4.   

    在你的 button1的事件改一下
    private void button1_Click(object sender, EventArgs e) 
            {             openFileDialog1.Title = "Open Image File"; 
                openFileDialog1.Filter = "Bitmap Files|*.bmp"; 
                openFileDialog1.FileName = ""; 
                openFileDialog1.ShowDialog(); 
                textBox1.Text = openFileDialog1.FileName; 
                 if (openFileDialog1.ShowDialog() == DialogResult.OK)  //加上这句
                {
                    //需要处理的程序代码
                  }      
      } 
      

  5.   

    把你这句“textBox1.Text = openFileDialog1.FileName; ”放到上面我说的需要处理的代码处
      

  6.   

    正解,lz应该是没弹出对话框吧?因为没调用
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    加上这个就ok了
      

  7.   

                openFileDialog1.ShowDialog(); 
                openFileDialog1.Title = "Open Image File"; 
                openFileDialog1.Filter = "Bitmap Files|*.bmp"; 
                openFileDialog1.FileName = ""; 
                
                textBox1.Text = openFileDialog1.FileName; 
      

  8.   

    if (openFileDialog1.ShowDialog() == DialogResult.OK) 
    加上这个了,但还是没有出现对话框啊!怎么回事呢?
      

  9.   

    加断点跟踪一下,要是没出现对话框,估计程序没走进click事件里
      

  10.   

    if (openFileDialog1.ShowDialog() == DialogResult.OK) 
    加不加这个无所谓,就这段代码不加也应该出对话框,估计楼上说的可能比较大!
      

  11.   

    有可能是Program.cs除了问题在
     static void Main()
            {
                
            }
    之前应该有个
    [STAThread]
    没有的话填上