标签: folderbrowserdialog

如何在MFC CFolderDialog(“浏览文件夹”对话框)中添加编辑框?

我目前在我的CDocManagerEx类中使用CFolderDialog类来处理文件操作,如下所示:

替代文字http://img268.yfrog.com/img268/9271/filedialog.png

我不知道是否需要显示此类的方法实现(我是从此处发布的项目中找到的),但是如果有帮助,请参见以下类定义:

class CFolderDialog  
{
    friend static int CALLBACK BrowseDirectoryCallback(
        HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData);

public:
    CFolderDialog(  LPCTSTR lpszFolderName = NULL, 
        DWORD dwFlags = NULL/*BIF_RETURNONLYFSDIRS*/, 
        CWnd* pParentWnd = NULL);
    virtual ~CFolderDialog();
    virtual int DoModal();
    CString GetPathName() const;

protected:
    virtual void OnInitDialog();
    virtual void OnSelChanged(ITEMIDLIST* pIdl);
    virtual void CallbackFunction(HWND hWnd, UINT uMsg, LPARAM lParam);

    void EnableOK(BOOL bEnable = TRUE);
    void SetSelection(LPCTSTR pszSelection);
    void SetSelection(ITEMIDLIST* pIdl);
    void SetStatusText(LPCTSTR pszStatusText);
    CString ShortName(const CString& strName);

public: …
Run Code Online (Sandbox Code Playgroud)

mfc dialog folderbrowserdialog

3
推荐指数
1
解决办法
2776
查看次数

3
推荐指数
2
解决办法
3382
查看次数

如何在Windows和OSX上浏览文件夹?

通常,我SHBrowseForFolder用来支持浏览文件夹...但我想支持Windows和OSX.

我在看:

  • System.IOUtils 但没有找到任何相关功能(也许,我错过了一个?)
  • TOpenDialog 选项,但没有找到一个选择文件夹而不是文件...

任何的想法?(我可以管理ifdefWindows,但我对Mac部分没有任何线索...)

干杯,

W.

delphi macos folderbrowserdialog delphi-xe2 firemonkey

3
推荐指数
1
解决办法
1659
查看次数

FolderBrowserDialog取消事件C#

我有对话框表单的问题.下面是一段调用FolderBrowserDialog窗口的C#代码.现在,当我在文件夹上单击"确定"时,它将关闭对话框,因此不必太在意这一点.但有谁知道如何检测取消事件?我试过查找它,但我似乎能找到的只是"解雇".不确定这可以帮助我.

    private void link1add_Click(object sender, EventArgs e)
    {
        FolderBrowserDialog dialog = new FolderBrowserDialog();
        dialog.ShowDialog(); // Opens Folderdialog
    }
Run Code Online (Sandbox Code Playgroud)

例如,沿着这些方向的东西:

    private void link1add_Click(object sender, EventArgs e)
    {
        FolderBrowserDialog dialog = new FolderBrowserDialog();
        dialog.ShowDialog(); // Opens Folderdialog
        if (dialog == dialog.Cancel)            
        {
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果有人能对此有所了解,我会非常感激.谢谢你的期待.

c# dialog folderbrowserdialog winforms

3
推荐指数
1
解决办法
5762
查看次数

VistaFolderBrowserDialog不以正确的文件夹开头

我想使用WPF的文件夹浏览对话框,但似乎没有这样一个必不可少的类WPF.

有人建议使用,System.Windows.Forms.FolderBrowserDialog但这是一个非常糟糕的对话.

我试过Ookii.Dialogs.Wpf.VistaFolderBrowserDialog:

Ookii.Dialogs.Wpf.VistaFolderBrowserDialog dlg = new VistaFolderBrowserDialog();
dlg.SelectedPath = path;
dlg.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

但是SelectedPath当对话框打开时,设置不会设置开始文件夹,这对我的程序至关重要.

如何VistaFolderBrowserDialog在正确的文件夹中打开?

c# wpf folderbrowserdialog

3
推荐指数
1
解决办法
1234
查看次数

WPF TreeView项目不可选

我目前正在WPF中编写一个文件夹浏览器对话框.为了显示树我使用TreeView:

<TreeView Name="FolderView" ItemsSource="{Binding DataTrees}" Grid.Row="0">
    <TreeView.ItemTemplate>
      <HierarchicalDataTemplate ItemsSource="{Binding Tree}">
      <TreeViewItem IsSelected="{Binding IsSelected, Mode=TwoWay}" IsExpanded="{Binding IsExpanded, Mode=TwoWay}" Header="{Binding Name}" HorizontalAlignment="Left"/>
      </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
  </TreeView>
Run Code Online (Sandbox Code Playgroud)

目前我有三个问题:

  1. 您无法在正在运行的程序中选择项目
  2. 标题是右边的两个标签(不重要但丑陋)
  3. 'IsExpanded'仅在双击项目时设置,而不是在单击[+]时设置

我不知道问题在哪里,所以请评论,我会更新我的问题!

编辑:Itemsource是一个列表数据树类:

public class DataTree:INotifyPropertyChanged
{
  private string path;

  private string name;

  private ObservableCollection<DataTree> tree;

  private bool isSelected;

  private bool isExpanded;
}
Run Code Online (Sandbox Code Playgroud)

(简单的代码 - 没有Propertys和INotifyPropertyChanged的实现)

c# wpf treeview xaml folderbrowserdialog

3
推荐指数
1
解决办法
3745
查看次数

设置FolderBrowser的根文件夹

如何设置folderdialog的根文件夹?

我的样本似乎不起作用.(我检查过该文件夹是否存在)

    Dim FolderBrowserDialog1 As New FolderBrowserDialog

    FolderBrowserDialog1.RootFolder = "C:\VaultWorkspace\cadcampc\"

    If (FolderBrowserDialog1.ShowDialog() = DialogResult.OK) Then
        Copy_Design_New_Loc.Text = FolderBrowserDialog1.SelectedPath
    End If
Run Code Online (Sandbox Code Playgroud)

错误信息

An unhandled exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll

Additional information: Conversion from string "C:\VaultWorkspace\cadcampc\" to type 'Integer' is not valid.
Run Code Online (Sandbox Code Playgroud)

如何将自定义位置设置为rootfolder,我需要做什么?

vb.net folderbrowserdialog

3
推荐指数
1
解决办法
1万
查看次数

C#OpenFileDialog线程启动但对话框未显示

我正在尝试完成我的静态Prompt类,以便能够从任何地方调用它.但问题是无法进行对话显示.我已经在使用[STAThread],这是我的代码.

public static string ShowFileDialog()
{
    string selectedPath = "";
    var t = new Thread((ThreadStart)(() =>
    {
        FolderBrowserDialog fbd = new FolderBrowserDialog();
        fbd.RootFolder = System.Environment.SpecialFolder.MyComputer;
        fbd.ShowNewFolderButton = true;
        if (fbd.ShowDialog() == DialogResult.OK)
        {
            selectedPath = fbd.SelectedPath;
        }
    }));
    t.SetApartmentState(ApartmentState.STA);
    t.Start();

    t.Join();
    return selectedPath;
}
Run Code Online (Sandbox Code Playgroud)

public static class Prompt是我的提示班.我是从public partial class Dashboard : Form课堂上打电话来的

谢谢你的帮助.

c# multithreading folderbrowserdialog

3
推荐指数
1
解决办法
1514
查看次数

无法识别文件夹浏览器对话框

无法让 wpf 项目重新识别FolderBrowserDialog

using System.Windows.Forms.Integration;
using System.Windows.Forms; 

 private void Button_Click_1(object sender, RoutedEventArgs e)
    {

        FolderBrowserDialog browse = new FolderBrowserDialog();
    }
Run Code Online (Sandbox Code Playgroud)

无法找到类型或名称空间FolderBrowserDialog???

c# wpf folderbrowserdialog

2
推荐指数
1
解决办法
5517
查看次数

在 Win 2012 中,FolderBrowserDIalog 不显示网络驱动器

我有一个使用folderBrowserDialog 的应用程序。在 Windows XP 中它工作正常,但在 Win 2012 对话框中不显示网络驱动器。我试图找到解决方案,但失败了。也许有人遇到过同样的问题。任何帮助,将不胜感激)

c# folderbrowserdialog winforms

1
推荐指数
1
解决办法
4259
查看次数

Forms.OpenFileDialog()和Forms.FolderBrowserDialog()初始路径行为

在我的应用程序同时使用OpenFileDialogFolderBrowserDialog按钮单击处理程序:

var fileDialog = new System.Windows.Forms.OpenFileDialog();

var folderDialog = new System.Windows.Forms.FolderBrowserDialog();
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当调用OpenFileDialog它从上次选择文件的文件夹中的资源管理器中启动时.但FolderBrowserDialog无论上次选择哪个文件夹,每次都在浏览器中打开MyComputer.如何为"FolderBrowserDialog"获得相同的行为(记住上次选择的文件夹)?

'OpenFileDialog'存储最后选择文件的文件夹也很有趣?Windows是否为每个应用程序存储它?

c# openfiledialog folderbrowserdialog

1
推荐指数
1
解决办法
811
查看次数

为什么无法在Window构造函数中显示两次FolderBrowserDialog?

出于好奇,我想知道为什么我不能显示的两个不同的实例FolderBrowserDialog中一个接一个的构造之后Window,但在做WindowLoaded事件.

  • 实施例1只是示出了第一对话框(fbd1),并且没有显示出下一个.
  • 实施例2示出了两个对话框.

例1:

public partial class MainWindow : Window {

    public MainWindow() {
        InitializeComponent();

        using (var fbd1 = new FolderBrowserDialog()) {
            fbd1.ShowDialog();
        }
        using (var fbd2 = new FolderBrowserDialog()) {
            fbd2.ShowDialog();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

例2:

public partial class MainWindow : Window {

    public MainWindow() {
        InitializeComponent();
    }

    private void Window_Loaded(object sender, RoutedEventArgs e) {
        using (var fbd1 = new FolderBrowserDialog()) {
            fbd1.ShowDialog();
        }
        using (var …
Run Code Online (Sandbox Code Playgroud)

c# wpf folderbrowserdialog winforms

1
推荐指数
1
解决办法
260
查看次数