使用Gtk在对话框中从主窗口更改对象
本文关键字:窗口 对象 Gtk 对话框 使用 | 更新日期: 2023-09-27 18:02:09
我认为这只是一个小问题,但我没有得到解决。
我有一个Gtk程序。窗口和Gtk.Dialog。在窗口中,我使用一个自编码对象。对话框需要知道对象,以便对其进行更改。当你点击OK-Button时,Window的对象必须知道这些变化。
谁能给我举个例子吗?Dialog有一个可以钩子的Response事件,并且在传递给处理程序的参数中是被按下的对话框响应按钮。
var md = new MessageDialog (
null,
DialogFlags.DestroyWithParent,
MessageType.Info,
ButtonsType.OkCancel,
"Your message");
md.Response += (o, args) => {
if (args.ResponseId == ResponseType.Ok) {
// do your stuff with the object
}
};
md.Run ();
md.Destroy ();
我认为您已经通过扩展Gtk创建了一个对话框。对话框类:
public MyDialog : Gtk.DialogBox
{
...
}
在这个类中添加属性以获取值:
// The entry containing the customer name
private Entry _customerName;
// Gets or sets the customer name
public string Name
{
get
{
return this._customerName.Text;
}
set
{
this._customerName.Text = value;
}
}
所以从你的主窗口,你可以获取和设置内容,正如斯凯勒之前提到的