using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace Dialog
{
    public partial class Form1 : Form
    {
        OpenFileDialog fileopen = new OpenFileDialog();
        public Form1()
        {
            InitializeComponent();
        }        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            
            this.fileopen.Title = "Open File";
            //Environment.GetFolderPath方法接受一个Environment.SpecialFolder枚举,其中
            //定义要返回的路径
            //Environment.SpecialFolder.MyDocuments是当前用户的我的文档
            string filepath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            this.fileopen.InitialDirectory = filepath;//设置默认路径
            //设置文件过滤器
            this.fileopen.Filter = "Text Documents(*.txt)|.txt|All File(*.*)|*.*";
            this.fileopen.ShowHelp = true;//显示对话框中的帮助按钮
            this.fileopen.Multiselect = true;            if (this.fileopen.ShowDialog() == DialogResult.OK)
            {
                MessageBox.Show("File name:" + this.fileopen.FileName);
            }
        }
    }
}
问题一:文件过滤器设置了,默认路径是我的文档,但是对话框里显示的只是我的文件夹,根本不现实txt文件,只有选择了下面的All File以后才显示,我想以开始就显示文件的,请问如何实现?
问题二:程序中的this代表的那个控件?

解决方案 »

  1.   

    问题一少写了几个字,补上如下:问题一:文件过滤器设置了,默认路径是我的文档,但是对话框里显示的只是我的文档中的文件夹,根本不现实txt文件,只有选择了下面的All File以后才显示,我想以开始就显示文件的,请问如何实现?
      

  2.   

    TO:问题二:程序中的this代表的那个控件?表示当前对象,即窗体对象,Form
      

  3.   

    TO:问题一,改成如下即可.."Text Documents(*.txt)|*.txt|All File(*.*)|*.*";
      

  4.   

    你写掉了一个"*"符号,是"*.txt",而不是".txt"
      

  5.   

    哦,谢谢,麻烦再问两个小问题啊。一:class A : CommonDialog
    {
        //....
        A()
       {
          this // 1
        }
    }这个this代表的是CommonDialog对象的是不是?如果是的话那上面那个程序中this.textBox1.Text= "aaa";正确,既然this代表的From那为什么From.textBox1.Text= "aaa";
    就是错误的呢?问题二:
    我在form1上托了一个TextBox,显示很正常,但是我在form1类里建了一个textBox1后,在form1的构造函数里写下面的语句后,程序运行后在窗体上怎么不显示textBox了呢?            textBox1.Name = "TextBoxEdit";
                textBox1.Text = null;
                textBox1.Multiline = true;
                textBox1.Dock = DockStyle.Fill;
                textBox1.ScrollBars = ScrollBars.Both;
                textBox1.AcceptsReturn = true;
                textBox1.AcceptsTab = true;
                textBox1.Show();
      

  6.   

    晕,总打错字,问题一改一下:一:class A : CommonDialog
    {
        //....
        A()
       {
          this // 1
        }
    }这个this代表的是CommonDialog类是不是?如果是的话那上面那个程序中this.textBox1.Text= "aaa";正确,既然this代表的From那为什么Form.textBox1.Text= "aaa";
    就是错误的呢?
      

  7.   

    多看看基础理论的书,估计lz没看什么c#方面的书就直接来拿代码调试了。
    你后面的两个问题,书上都很清楚。
    劝lz打好基础,以后的日子就能事半功倍~~~
      

  8.   

    我是写web的,但我想以我的观点谈谈第二个问题:
    你在后台定义一个TextBox的对象,但在前台web页面并没有生成这个对象显示代码(我这里就是html,比如,我拖一个TextBox到页面,他就会有相关的html代码生成)供页面编译器编译。
      

  9.   

    见你的另外一个贴子,我也回了..这个this代表的是CommonDialog类是不是?如果是的话那上面那个程序中this.textBox1.Text= "aaa";正确,既然this代表的From那为什么Form.textBox1.Text= "aaa";
    就是错误的呢?在类的定义里面用this来指代当前的类的对象...TO:这个this代表的是CommonDialog类是不是这个指A,你的A只是继承的CommonDialog..