Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 强制SDL_窗口处于活动状态/在顶部,使父窗口不可访问(如WinForms中的ShowDialog)_C#_C++_Sdl - Fatal编程技术网

C# 强制SDL_窗口处于活动状态/在顶部,使父窗口不可访问(如WinForms中的ShowDialog)

C# 强制SDL_窗口处于活动状态/在顶部,使父窗口不可访问(如WinForms中的ShowDialog),c#,c++,sdl,C#,C++,Sdl,我正在使用SDL2(特别是SDL2的C#包装器(SDL2-CS),但它具有所有相同的特性和功能),并试图用它制作一个游戏编辑器。一切都进行得很顺利,但有一项功能我非常喜欢。这将使一个特定窗口始终显示在其父窗口的顶部,同时使父窗口不可访问。当窗口最小化并打开时,它将打开并聚焦于子窗口。当您尝试访问父窗口时,它会闪烁,您会听到windows错误消息 我知道如何手动关注一个窗口,但我不知道如何在两个窗口之间建立一种“链接”,在关闭窗口B之前,窗口a是不可访问的 我知道Windows窗体的等效项是For

我正在使用SDL2(特别是SDL2的C#包装器(SDL2-CS),但它具有所有相同的特性和功能),并试图用它制作一个游戏编辑器。一切都进行得很顺利,但有一项功能我非常喜欢。这将使一个特定窗口始终显示在其父窗口的顶部,同时使父窗口不可访问。当窗口最小化并打开时,它将打开并聚焦于子窗口。当您尝试访问父窗口时,它会闪烁,您会听到windows错误消息

我知道如何手动关注一个窗口,但我不知道如何在两个窗口之间建立一种“链接”,在关闭窗口B之前,窗口a是不可访问的

我知道Windows窗体的等效项是Form.ShowDialog()。这正是我想要的,但目前它的工作方式类似于Form.Show()。为了澄清,我没有使用Windows窗体或任何其他库/框架。我使用纯SDL2;这只是一个例子


我希望使用纯SDL2实现此功能。

有一个函数。没有跨平台的方法来实现此功能,因此我怀疑SDL是否内置了此功能。也许您可以捕获父窗口中的所有窗口事件,并让该触发器将焦点返回到子窗口。有一个函数。没有跨平台的方法来实现这一点,因此我怀疑SDL是否内置了此功能。也许您可以捕获父窗口中的所有窗口事件,并让该触发器将焦点返回给子窗口。