2

私のアプリケーションには、ウィンドウのレイアウトを変更できる 2 つのトグル ボタンがあります。ボタンを削除または追加して、要求された合計サイズを効果的に変更します。そのウィンドウの Resizeable プロパティが false に設定されているため、通常、ウィンドウは以前よりも大きくても小さくても、コンテンツに合わせて自動的にサイズ変更されます。

ただし、ウィンドウが非表示のときにレイアウトを変更すると、ウィンドウを表示した後、ウィンドウのサイズはレイアウトに合わせて変更されません。ただし、移動した後は自動でサイズ変更されます。

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

コンテナが非表示になっている間、GTK はサイズ変更のチェックをスキップすると思います。サイズを強制的に再計算する方法はありますか?

ありがとうございました。

PS: Windows でのみ発生するようです。おそらくこれはOSに関連していますか?

4

1 に答える 1

1

私はそれをテストするためのWindowsマシンを持っていませんが、回避策としてこれを試してください:

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

レイアウトを変更する前にウィンドウのサイズを変更してから、サイズを変更できないように設定してみることもできます。

Window.Hide();
Window.Resizable = true;
ChangeLayout(Window);
Window.Resizable = false;
Window.Show();
于 2012-09-13T16:18:33.540 に答える