控制台应用程序中的 Form.ShowDialog 没有设置所有者

HimBromBeere
class Form1 : Form
{
    ...
    void SoSomething()
    {
        var f2 = new Form2();
        f2.ShowDialog(null);
    }
    void SoSomethingElse()
    {
        var f2 = new Form2();
        f2.ShowDialog(this);
    }
}

从我当前的测试来看,这两种方法似乎是相同的,并且ShowDialog似乎会自动将其所有者设置为调用它的表单,如果未设置(参数ShowDialognull)。

但是我有一个控制台应用程序可以创建这样的表单。我想知道在这种情况下对话框的所有者是什么。我没有找到任何描述提供nullShowDialog.

帕特里克·霍夫曼

参考源看来,程序试图获取活动窗口。

IntPtr hWndActive = UnsafeNativeMethods.GetActiveWindow();
IntPtr hWndOwner = owner == null ? hWndActive : Control.GetSafeHandle(owner);

对于控制台应用程序,没有、hWndActiveisIntPtr.Zeroowneris null。所以表单没有所有者。

实际上,这具有相同的行为ShowDialog(),因为这只是调用:

public DialogResult ShowDialog() {
    return ShowDialog(null);
}

所以基本上这只是一个没有所有者的表格。没什么特别的。它就像一个独立的窗口。

附带说明:如果不使用Application.Run(new ...());它确保 Win32 消息循环启动并运行,则不应从控制台应用程序打开表单

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

隐藏应用程序中的Form.ShowDialog

来自分类Dev

没有控制台输出-Eclipse应用程序

来自分类Dev

如何在Windows Form应用程序中嵌入控制台?

来自分类Dev

如何在Windows Form应用程序中嵌入控制台?

来自分类Dev

从同一应用程序中的控制台获取所有行

来自分类Dev

如何在Angular应用程序中获取所有控制台错误消息

来自分类Dev

更新.netcore控制台应用程序列中的所有空值

来自分类Dev

具有多个面板的控制台应用程序

来自分类Dev

带有jLine的Java控制台应用程序

来自分类Dev

启动时.NET中的控制台应用程序和Windows应用程序有什么区别

来自分类Dev

启动时.NET中的控制台应用程序和Windows应用程序有什么区别

来自分类Dev

控制台应用程序 Scala 中的有状态用户

来自分类Dev

在VB.NET控制台应用程序中,如何从My.Settings对象获取应用程序的设置?

来自分类Dev

如何在控制台应用程序中设置默认连接字符串?

来自分类Dev

我在控制台应用程序的App.Config中的elmah设置遇到问题

来自分类Dev

如何在.NET Core控制台应用程序中设置DI容器?

来自分类Dev

NLog 未在控制台应用程序中读取我的 app.config 设置

来自分类Dev

在窗体模式下没有控制台窗口的混合Windows窗体和控制台应用程序

来自分类Dev

控制台应用程序对文本文件中的所有“#”字符进行计数

来自分类Dev

“ ShowDialog”方法无法正常工作(设置Form父级时?)

来自分类Dev

在具有Castle Windsor的控制台应用程序中以特定名称空间安装程序集中的服务

来自分类Dev

在Visual Studio 2015社区中为现有C#控制台应用程序创建服务安装程序

来自分类Dev

查找所有编译为.NET 3.5控制台应用程序的VS项目

来自分类Dev

如何从.net应用程序禁用到Spark控制台的所有日志记录信息

来自分类Dev

C# 控制台应用程序,如何使所有结果等于 totalResult?

来自分类Dev

.Net Core 3控制台应用程序中带有Serilog的appsettings.json中的哨兵配置

来自分类Dev

没有控制台如何创建gui应用程序?

来自分类Dev

如何在没有python控制台的情况下运行tkinter应用程序

来自分类Dev

如何在没有控制台的情况下创建gui应用程序?

Related 相关文章

  1. 1

    隐藏应用程序中的Form.ShowDialog

  2. 2

    没有控制台输出-Eclipse应用程序

  3. 3

    如何在Windows Form应用程序中嵌入控制台?

  4. 4

    如何在Windows Form应用程序中嵌入控制台?

  5. 5

    从同一应用程序中的控制台获取所有行

  6. 6

    如何在Angular应用程序中获取所有控制台错误消息

  7. 7

    更新.netcore控制台应用程序列中的所有空值

  8. 8

    具有多个面板的控制台应用程序

  9. 9

    带有jLine的Java控制台应用程序

  10. 10

    启动时.NET中的控制台应用程序和Windows应用程序有什么区别

  11. 11

    启动时.NET中的控制台应用程序和Windows应用程序有什么区别

  12. 12

    控制台应用程序 Scala 中的有状态用户

  13. 13

    在VB.NET控制台应用程序中,如何从My.Settings对象获取应用程序的设置?

  14. 14

    如何在控制台应用程序中设置默认连接字符串?

  15. 15

    我在控制台应用程序的App.Config中的elmah设置遇到问题

  16. 16

    如何在.NET Core控制台应用程序中设置DI容器?

  17. 17

    NLog 未在控制台应用程序中读取我的 app.config 设置

  18. 18

    在窗体模式下没有控制台窗口的混合Windows窗体和控制台应用程序

  19. 19

    控制台应用程序对文本文件中的所有“#”字符进行计数

  20. 20

    “ ShowDialog”方法无法正常工作(设置Form父级时?)

  21. 21

    在具有Castle Windsor的控制台应用程序中以特定名称空间安装程序集中的服务

  22. 22

    在Visual Studio 2015社区中为现有C#控制台应用程序创建服务安装程序

  23. 23

    查找所有编译为.NET 3.5控制台应用程序的VS项目

  24. 24

    如何从.net应用程序禁用到Spark控制台的所有日志记录信息

  25. 25

    C# 控制台应用程序,如何使所有结果等于 totalResult?

  26. 26

    .Net Core 3控制台应用程序中带有Serilog的appsettings.json中的哨兵配置

  27. 27

    没有控制台如何创建gui应用程序?

  28. 28

    如何在没有python控制台的情况下运行tkinter应用程序

  29. 29

    如何在没有控制台的情况下创建gui应用程序?

热门标签

归档