一旦按下GUI按钮,如何创建标签?

时间:2016-02-08 14:01:21

标签: c# windows xamarin labels xamarin-studio

我有一个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桌面应用。

1 个答案:

答案 0 :(得分:0)

通常,您需要将新控件添加到窗体/视图/任何控件集合中。如果您在视图中运行它而不是简单地使用。 View.Add (lbl);

如果您使用的是c#.net winforms(我不认为您是),那么请使用 this.Controls.Add(lbl);