【问题标题】:How to auto resize a GTK# window while it's hidden?如何在隐藏时自动调整 GTK# 窗口的大小?
【发布时间】:2012-09-10 14:55:23
【问题描述】:

在我的应用程序中,我有两个可以更改窗口布局的切换按钮。他们将删除或添加按钮,从而有效地改变请求的总大小。由于该窗口的 Resizeable 属性设置为 false,通常窗口会自动调整大小以适应其内容,无论它们比以前大还是小。

但是,如果我在窗口隐藏时更改布局,则在使其可见后,窗口的尺寸将不会更改以适应布局。我移动它后它会自动调整大小。

//Code example
Window.Hide();
ChangeLayout(Window);
Window.Show();

我假设 GTK 在容器不可见时会跳过检查大小变化。有没有办法强制它重新计算它的大小?

谢谢。

P.S:似乎这只发生在 Windows 中。也许这与操作系统有关?

【问题讨论】:

  • 这里是关于这个问题的GTK bug

标签: layout resize window gtk gtk#


【解决方案1】:

我没有可以在其上测试的 Windows 机器,但可以尝试以下解决方法:

Window.Hide();
ChangeLayout(Window);
Window.Unrealize();
Window.Show();

您也可以尝试在更改布局之前将窗口设置为可调整大小,然后将其设置为不可调整:

Window.Hide();
Window.Resizable = true;
ChangeLayout(Window);
Window.Resizable = false;
Window.Show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 2016-06-01
    • 1970-01-01
    • 2019-07-03
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多