在MonoDevelop中获得漂亮的小部件大小(Gtk#)

编辑:点击此处查看代码。 所以我正在尝试使用MonoDevelop(版本2.4)进行界面构建。我正在尝试习惯“容器内的容器”的Gtk概念。我创建了一个带有两个......盒子的vbox,在顶盒子上放了一个菜单,在底部放了一个桌子。我将表设置为有两列和五行。在前四行,我在左边放了一个标签,在右边放了一个条目。在右下方的单元格中,我放了一个按钮。它看起来像这样: 这是我正在努力的事情: 1)如何使表格的列宽度不等?有趣的是,当我只添加标签时,还没有添加输入框时,左列只用了标签所需的空间。现在它是50/50,它不会让步。 2)如何使标签右对齐,因此文本中的最后“:”可以很好地对齐并靠近输入框?我将标签的“Justify”属性设置为“Right”,似乎被忽略了。 3)“文件”菜单下“打开”和“关闭”操作的操作代码包括显示带有确定按钮的模态消息框。但是按OK按钮不会忽略消息框,只关闭消息框窗口。代码是:
(new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok,
                  "Open Action")).Show();
    
已邀请:
1)将Entry小部件中的至少一个设置为水平“展开”和“填充”。 2)将标签的Xalign属性设置为1.0。 Justify控制包装文本的布局,Xalign / Yalign控制整个块在标签区域内的位置。 3)完成对话后你应该销毁()对话框。或者你可以隐藏()它并重新使用它。您还应该考虑使用对话框的Run()方法 - 通常类似于:
var dialog = new FooDialog(...);
try {
    dialog.Show();
    var response = (ResponseType) dialog.Run ();
    if (response == ResponseType.Ok) {
        //do stuff
    }
} finally {
    dialog.Destroy ();
}
    

要回复问题请先登录注册