比如我想让OpenFileDialog里面选择文件路径不可用,就是只能定位到我设定的路径下。

解决方案 »

  1.   

    Customizing OpenFileDialog in .NET // 自定义OpenFileDialog
    http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx
      

  2.   

    string MyPath==@"c:\" ;
    openFileDialog1.InitialDirectory=MyPath;
      

  3.   

    所谓不可用,就是使其失效了
    只要在
    openFileDialog1.ShowDialog();
    之后再调用
    string MyPath==@"c:\" ; 
    openFileDialog1.InitialDirectory=MyPath;
    就OK了
      

  4.   

    OpenFileDialog是一个封闭类,无法继承,所以如果想要写的话一切要从头来过。但是如果只是要达到这个目的的话你可以这样试试:
    1:响应它的FileOK事件
    2:它的响应句柄我大概写了一下:        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
            {
                if (!openFileDialog1.FileName.Contains(@"E:\desktop\"))
                {
                    MessageBox.Show("文件必须位于:XXX路径下。");
                    e.Cancel = true;
                }
            }我的判断逻辑还比较简单,如果是E:\desktop\1\1.txt这位的文件也是允许的,如果不允许,你可以自己加些复杂的条件。这样即提示了用户又解决了你的问题,相对是比较简单的方案。
      

  5.   

    谢谢楼上的答复,我自己重新写了一个Form来实现了。