gpt4 book ai didi

c# - 如何在父 Windows 上居中 Gtk 对话框

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:59 25 4
gpt4 key购买 nike

代码:

    void btnSettings_Click(object obj, EventArgs args)
{
frmSettings dialogSettings = new frmSettings();
dialogSettings.Modal = true;
dialogSettings.TransientFor = this;
dialogSettings.Parent = this;
dialogSettings.ParentWindow = this.GdkWindow;
dialogSettings.SetPosition(Gtk.WindowPosition.CenterOnParent);

dialogSettings.Show();
}

我尝试了 TransientFor、Parent、ParentWindow 属性,但它们都没有强制我的对话框显示在父(调用者)窗口的中心。想法?谢谢。

最佳答案

更好的选择是在构造函数中设置对话框的父级:

public MyDialog (Gtk.Window parent) 
: base ("My title", parent, Gtk.DialogFlags.Modal, new object[0])
{
this.Build();
}

public override void Dispose ()
{
Destroy();
base.Dispose();
}

然后像这样从父窗口调用它:

var dialog = new MyDialog(this);
try
{
var response = (ResponseType) dialog.Run();
//handle response...
}
finally
{
dialog.Dispose();
}

关于c# - 如何在父 Windows 上居中 Gtk 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19405721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com