我有一个GUI按钮,可以检测按下的时间和按下按钮时我想要创建标签的一段代码。我目前正在将一个条目转换为一个int(这是有效的。通过在条目中显示int来测试。)并尝试使用for循环。我的代码在我的主窗口的源代码中。这是我的代码:
using System;
using Gtk;
public partial class MainWindow: Gtk.Window
{
public MainWindow () : base (Gtk.WindowType.Toplevel)
{
Build ();
}
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}
protected void generatePlates (object sender, EventArgs e)
{
int n;
short number;
bool validNumnber;
if (Int16.TryParse (entry1.Text, out number))
{
validNumnber = true;
}
else
{
validNumnber = false;
}
if (validNumnber == true)
{
n = Int16.Parse(entry1.Text);
}
else
{
n = 0;
}
for (int i = 0; i < n; i++)
{
var lbl = new Label();
lbl.Name = "lbl"+i;
lbl.Text = "Plate "+i+":";
lbl.Allocation = new Gdk.Rectangle (110*i+110,110*i+110,100,100);
this.Add (lbl);
entry3.Text = this.ToString();
}
}
任何建议都表示赞赏,可以随时询问更多详情。如果我的代码中还有其他缺陷,请告诉我,因为我是一个完整的新手。另外entry3
只是我用来测试它的一个条目。
编辑:此代码适用于Windows桌面应用。
答案 0 :(得分:0)
通常,您需要将新控件添加到窗体/视图/任何控件集合中。如果您在视图中运行它而不是简单地使用。
View.Add (lbl);
如果您使用的是c#.net winforms(我不认为您是),那么请使用
this.Controls.Add(lbl);