.net中实现 "选择文件夹"对话框

 

找了很久,发现.net真的很弱智 + 乱,真的哦。

 

需要在vb.net里面显示“选择文件夹”对话框,于是开始了我的寻找之旅:

1,OpenFileDialog放到了Imports Microsoft.Win32里面,于是我就想啊,folder dialoga之类的,应该也在这里吧;累得半死,没有找到;

 

2,对win32,我熟啊,于是找到了这个:

  1.  Declare   Function   SHBrowseForFolder   Lib   "shell32.dll"   (ByRef   lpbi   As   BROWSEINFO)   As   Long   
  2.   Declare   Function   SHGetPathFromIDList   Lib   "shell32.dll"   (ByRef   pidl   As   Any,   ByVal   pszPath   As   String)   As   Long   

那代码相当乱不说,费劲,而且没有什么明确的说明和帮助文档;

于是,cut;

 

3,codeproject是老牛啊,找到一个:

http://www.codeproject.com/KB/selection/folderbrowser.aspx

自己做一个控件,那不成啊,我知道你做的对不对啊;再说了,和系统的对话框规范不一致;

cut;

 

 时间在一分一秒的流逝,我的心情也很那啥,这时候,发现了让我意料不到的结果,

4,Windows.Forms里面有

  1. Imports System.Windows.Forms
  2. ' browse folder
  3. Public Shared Function GetOpenFolderResult() As String
  4.     Dim result As String = String.Empty
  5.     Dim brw As FolderBrowserDialog = New FolderBrowserDialog()
  6.     brw.Description = "Please select the folders containing .net source code."
  7.     brw.SelectedPath = "e:/cpp_code"
  8.     If brw.ShowDialog() Then
  9.         result = brw.SelectedPath
  10.     End If
  11.     Return result
  12. End Function

而且,还以外的发现,Windows.Forms里面也有OpenFileDialog,我无语 + 晕倒 + 愤怒 + 抗议。

 

[后记]

对于高手来说,尤其是.net高手,这个可能并不是什么大问题,但是不熟悉.net的人来说,痛苦的要死;主要我奇怪的是,为啥这么乱?

 

 

你可能感兴趣的:(其他技术)