gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 21:19:53 25 4
gpt4 key购买 nike

编辑:Click here for the code .

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

GUIBlah Application

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

1) 如何让表格的列不等宽?有趣的是,当我只添加标签,还没有添加输入框时,左栏只用完了标签所需的空间。现在是 50/50,不会让步。

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

3) "file"菜单下“打开”和“关闭” Action 的 Action 代码包括显示一个带有确定按钮的模态消息框。但是按下 OK 按钮并不会关闭消息框,只会关闭消息框窗口。代码是:

(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/

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