我自己利用c#自有的类继承写的,你看看,哈哈
using System;
//using System.Windows.Forms.Design;namespace OpenFolderDialogBrowser
{
/// <summary>
/// FolderBrowser浏览目录对话框类
/// 此类为静态操作类,调用时可以设置
/// 文件Description、StartLocation、FdBrowserStyles
/// 等属性例程如下:
/// FolderBrowser.Description = "请选择一个目标目录";
/// FolderBrowser.StartLocation = FolderBrowser.FBrowserFolder.Desktop;
/// FolderBrowser.FdBrowserStyles = FolderBrowser.FBrowserStyles.ShowTextBox; 
/// label1.Text=FolderBrowser.ShowDialog();
/// 另外别忘了在引用的工程中添加System.windows.forms.design的引用
/// </summary>
public class FolderBrowser:System.Windows.Forms.Design.FolderNameEditor
{
static private string description; static private FBrowserFolder startlocation;
static private FBrowserStyles folderbrowserstyles; static public string Description{
set{description = value;}
get{return description;}
}

static public FBrowserFolder StartLocation{
set{startlocation = value;}
get{return startlocation;}
}
static public FBrowserStyles FdBrowserStyles
{
set{folderbrowserstyles = value;}
get{return folderbrowserstyles;}
}
static public string ShowDialog()
{
FolderBrowser fb = new FolderBrowser();
SetAttributes(fb);
fb.ShowDialog();
return fb.DirectoryPath;
}
static private void SetAttributes(FolderBrowser fb){
fb.Description = Description;
switch(StartLocation){
case FBrowserFolder.Desktop:
fb.StartLocation = FolderBrowserFolder.Desktop;
break;
case FBrowserFolder.Favorites:
fb.StartLocation = FolderBrowserFolder.Favorites;
break;
case FBrowserFolder.MyComputer:
fb.StartLocation = FolderBrowserFolder.MyComputer;
break;
case FBrowserFolder.MyDocuments:
fb.StartLocation = FolderBrowserFolder.MyDocuments;
break;
case FBrowserFolder.MyPictures:
fb.StartLocation = FolderBrowserFolder.MyPictures;
break;
case FBrowserFolder.NetAndDialUpConnections:
fb.StartLocation = FolderBrowserFolder.NetAndDialUpConnections;
break;
case FBrowserFolder.NetworkNeighborhood:
fb.StartLocation = FolderBrowserFolder.NetworkNeighborhood;
break;
case FBrowserFolder.Printers:
fb.StartLocation = FolderBrowserFolder.Printers;
break;
case FBrowserFolder.Recent:
fb.StartLocation = FolderBrowserFolder.Recent;
break;
case FBrowserFolder.SendTo:
fb.StartLocation = FolderBrowserFolder.SendTo;
break;
case FBrowserFolder.StartMenu:
fb.StartLocation = FolderBrowserFolder.StartMenu;
break;
case FBrowserFolder.Templates:
fb.StartLocation = FolderBrowserFolder.Templates;
break;
}
switch(FdBrowserStyles){
case FBrowserStyles.BrowseForComputer:
fb.Style = FolderBrowserStyles.BrowseForComputer;
break;
case FBrowserStyles.BrowseForEverything:
fb.Style = FolderBrowserStyles.BrowseForEverything;
break;
case FBrowserStyles.BrowseForPrinter:
fb.Style = FolderBrowserStyles.BrowseForPrinter;
break;
case FBrowserStyles.RestrictToDomain:
fb.Style = FolderBrowserStyles.RestrictToDomain;
break;
case FBrowserStyles.RestrictToFilesystem:
fb.Style = FolderBrowserStyles.RestrictToFilesystem;
break;
case FBrowserStyles.RestrictToSubfolders:
fb.Style = FolderBrowserStyles.RestrictToSubfolders;
break;
case FBrowserStyles.ShowTextBox:
fb.Style = FolderBrowserStyles.ShowTextBox;
break;
}
} public FolderBrowser()
{ }
}
public enum FBrowserFolder
{
Desktop,Favorites,MyComputer,MyDocuments,MyPictures,
NetAndDialUpConnections,NetworkNeighborhood,Printers,
Recent, SendTo, StartMenu,Templates
}
public enum FBrowserStyles
{
BrowseForComputer,
BrowseForEverything,
BrowseForPrinter,
RestrictToDomain,
RestrictToFilesystem,
RestrictToSubfolders,
ShowTextBox
}
}

解决方案 »

  1.   

    winform or webform?
    win: 工具箱上openfiledialog 
    web: 以上传文件时选择文件为例<form id="Form1" action="refresh" encType="multipart/form-data" runat="server">
    <P>
    <div align="center"><asp:label id="Lb1" runat="server" ForeColor="Desktop" Font-Size="Small" Font-Names="黑体" Width="248px" Height="24px"></asp:label></div>
    <asp:label id="lin" runat="server" ForeColor="Desktop" Font-Size="X-Small" Font-Names="宋体" Width="544px" Height="1px"></asp:label><asp:label id="Lsc" runat="server" ForeColor="Red" Font-Size="X-Small" Font-Names="宋体" Width="72px" Height="1px" Visible="False"></asp:label>
    <P></P>
    <P>选择上传文件: <input id="File1" type="file" size="50" name="File1" runat="server">
    </P>
    <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT id="Button1" style="WIDTH: 72px; BORDER-TOP-STYLE: ridge; BORDER-RIGHT-STYLE: ridge; BORDER-LEFT-STYLE: ridge; HEIGHT: 24px; BACKGROUND-COLOR: transparent; BORDER-BOTTOM-STYLE: ridge" type="button" value="执行上传" name="Button1" runat="server" OnServerClick="ExecUpload">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <INPUT style="WIDTH: 72px; BORDER-TOP-STYLE: ridge; BORDER-RIGHT-STYLE: ridge; BORDER-LEFT-STYLE: ridge; HEIGHT: 24px; BACKGROUND-COLOR: transparent; BORDER-BOTTOM-STYLE: ridge" onclick="javascript:history.back()" type="button" value="返   回"></P>
    <TABLE id="Table2" style="Z-INDEX: 101; LEFT: 112px; WIDTH: 525px; POSITION: absolute; TOP: 150px; HEIGHT: 38px" height="38" cellSpacing="1" cellPadding="1" width="525" align="center" border="1">
    <TR>
    <TD><IMG id="imgg" alt="" src="" align="middle" runat="server"></TD>
    </TR>
    </TABLE>
    </form>
    /////////////////////////////////////////
       File1.PostedFile.SaveAs(Lsc.Text)
       imgg.Src = File1.PostedFile.FileName()
      

  2.   

    大致同意 ztb(张)
    不过ztb(张)的代码确实有点乱
      

  3.   

    目录选择
    http://support.microsoft.com/default.aspx?scid=kb;en-us;Q306285