簡體   English   中英

單擊按鈕更改標簽文本

[英]changing label text with button click

我需要在單擊按鈕時更改標簽的文本,但它不起作用並給我運行時錯誤。我有LABEL的單獨類和BUTTON的單獨類。這是偽代碼。真實的代碼包含位置和大小標簽和按鈕。一切都是動態創建的。 謝謝!

   /-------------------------------------LABEL class-------------------------------/
   private Label label1;

   public Label getLabel1()
   {
       return label1;
   }

   public LABEL()
   {
       label1 = new Label();
   }

    public void print()
    {            
        label1.Text = "x";
        Controls.Add(label1);
    }//

  /-------------------------------------BUTTON class----------------------------------/
    private Button button1;

    public BUTTON()
    {

    }

    public void print()
    {
        button1 = new Button();
        button1.Click +=new EventHandler(button1_Click);
        Controls.Add(button1);
    }

     public void button1_Click(object sender, EventArgs e)
     {
        LABEL label = new LABEL();
        label.getLabel1().Text = "y";
     }

您可以嘗試一下。

private void button1_Click(object sender, EventArgs e){label1.Text = "Hi";label1.Refresh();}

您正在嘗試更改空引用標簽的文本:

// Label Class
private Label label1;
public Label getLabel1()
{
    return label1;
}
// Button Class
LABEL label1 = new LABEL();
label1.getLabel1().Text = "y";
// getLabel1 is returning null, because you have not initialized label1

為了使代碼正常工作,您必須更改以下內容:

public LABEL()
{
    label1 = new Label();
}

public void print()
{
    label1.Text = "x";
    Controls.Add(label1);
}

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM