代码之家  ›  专栏  ›  技术社区  ›  joedotnot

2021年WPF FolderBrowserDialog中是否需要所有者窗口?

  •  0
  • joedotnot  · 技术社区  · 4 年前
    1 回复  |  直到 4 年前
        1
  •  0
  •   Dai    4 年前

    实际上,win32api真的需要吗

    FolderBrowserDialog 通过Win32公开。如果不以某种方式使用Win32,就不能为Windows编写软件。

    我刚刚尝试了FolderBrowserDialog,默认情况下它已经是模态的;只需调用.ShowDialog()就已经是底层窗口的模态了。

    那是因为当你打电话的时候 ShowDialog() 它过去了 IntPtr.Zero 为业主服务 hWnd NULL 在C)中。当你经过的时候 无效的 然后Windows使用进程中当前活动的窗口作为所有者-因此所有者仍然设置,它只是自动确定:

    From the documentation for WinForms' ShowDialog() (过载而没有 owner 参数。虽然WinForms和WPF是分开的,但两者的原则是相同的):

    当调用此版本时, 当前活动窗口将成为对话框的所有者 . 如果要指定特定所有者,请使用此方法的其他版本。

    也就是说,你