zoukankan      html  css  js  c++  java
  • 在WPF里面如何使用FolderBrowserDialog

    System.Windows.Forms.FolderBrowserDialog fd = new System.Windows.Forms.FolderBrowserDialog();
    fd.ShowDialog(
    this);

    上面的代码如果是在WinForm程序里面,是没有问题的。但是如果在WPF里面则编译不通过,错误描述是

    The best overloaded method match for 'System.Windows.Forms.CommonDialog.ShowDialog(System.Windows.Forms.IWin32Window)' has some invalid arguments。

    这是因为WPF的窗口不是继承IWin32Window接口的,继承的是System.Windows.IWindowService接口。如果想在WPF程序里面使用FolderBrowserDialog,可以象下面这么写:

    private class OldWindow : System.Windows.Forms.IWin32Window
            
    {
                IntPtr _handle;
                
    public OldWindow(IntPtr handle)
                
    {
                    _handle 
    = handle;
                }


                
    IWin32Window Members
            }




    System.Windows.Forms.FolderBrowserDialog fd 
    = new System.Windows.Forms.FolderBrowserDialog();
    fd.ShowNewFolderButton 
    = false;
    System.Windows.Interop.HwndSource source 
    = PresentationSource.FromVisual(thisas System.Windows.Interop.HwndSource;
    System.Windows.Forms.IWin32Window win 
    = new OldWindow(source.Handle);
    fd.ShowDialog(
    this);
  • 相关阅读:
    HTML5 History 模式 nginx配置
    nginx配置及性能调优
    windows启动jar包bat文件
    在线小工具
    BAT文件里Maven命令执行后退出的解决方案
    文字超出隐藏
    SOCKET.IO
    call与apply简单介绍
    html里面,没有内容,要高度占满页面
    css实现三角形标
  • 原文地址:https://www.cnblogs.com/pdfw/p/1422178.html
Copyright © 2011-2022 走看看