c# - 在 MonoDevelop 中获得漂亮的小部件尺寸 (Gtk#)

标签 c# mono monodevelop gtk# gui-designer

编辑:Click here for the code .

所以我正在尝试使用 MonoDevelop(版本 2.4)构建界面。我正在尝试习惯 Gtk 的“容器内的容器”概念。我创建了一个带有两个...呃...盒子的vbox,在顶部的盒子上放了一个菜单,在底部的盒子上放了一张 table 。我将表格设置为两列五行。在前四行,我在左侧放置了一个标签,在右侧放置了一个条目。在右下角的单元格上我放了一个按钮。它看起来像这样:

GUIBlah Application

这是我正在努力解决的问题:

1) 如何使表格的列宽度不相等?有趣的是,当我仅添加标签并且尚未添加输入框时,左列仅用尽了标签所需的空间。现在是 50/50,不会让步。

2) 如何使标签右对齐,以便文本中的最后一个“:”很好地对齐并靠近输入框?我将标签的“Justify”属性设置为“Right”,但似乎被忽略了。

3) "file"菜单下“打开”和“关闭”操作的操作代码包括显示带有“确定”按钮的模式消息框。但是按“确定”按钮不会关闭消息框,只有关闭消息框窗 Eloquent 会关闭。代码是:

(new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok,
                  "Open Action")).Show();

最佳答案

1) 至少将 Entry 小部件之一设置为水平“扩展”和“填充”。

2) 将标签的 Xalign 属性设置为 1.0。 Justify 控制换行文本的布局,Xalign/Yalign 控制整个 block 在标签区域内的位置。

3) 完成对话框后,您应该 Destroy() 对话框。或者,您可以 Hide() 它并重新使用它。您还应该考虑使用对话框的 Run() 方法 - 通常类似于:

var dialog = new FooDialog(...);
try {
    dialog.Show();
    var response = (ResponseType) dialog.Run ();
    if (response == ResponseType.Ok) {
        //do stuff
    }
} finally {
    dialog.Destroy ();
}

关于c# - 在 MonoDevelop 中获得漂亮的小部件尺寸 (Gtk#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3604324/

相关文章:

c# - 在其中心旋转图形位图

c# - 无法连接到 Xamarin.Android(C#) 中的 Web 服务

windows - 在 Windows : workaround for Gtk# requirement? 上安装 MonoDevelop

c# - 如何将日期格式化为本地化的 Short MonthDay 字符串

c# - 为什么在同一个 UI 控件上第二次查询时 WaitForControlExist() 返回 false?

.net - 如何从源代码安装 MonoDevelop 2.4?

linux - libgc 似乎丢失(安装支持 Mono 的 Virtuoso-Opensource)

c# - Unity3d AudioClip用AudioSource播放无法正常工作

mono - 新的默认 VB.NET 项目立即报错

unit-testing - 如何使用 MonoDevelop 调试单元测试?