2015-06-08 119 views
1

我試圖在運行時添加標籤,當您單擊按鈕, 這是我的代碼,但是當您單擊按鈕時,它只是添加新標籤在新的位置和標籤之前通過點擊該按鈕沒有顯示 ,我想要顯示所有的人後點擊按鈕 我怎麼能解決它?通過單擊運行時按鈕創建控件在c#

Label lbl; 
int number; 
int locationX = 2; 
int locationY = 4; 

public void CreateRuntimeControl(PictureBox pic) 
{ 
    lbl; = new Label(); 
    number++; 
    locationX++; 
    locationY++; 
    lbl.Name = "lbl" + number.ToString(); 
    lbl.Size = new System.Drawing.Size(100, 50); 
    lbl.Location = new System.Drawing.Point(10 + locationX, 10 + locationY); 
    lbl.Text = number.ToString(); 
    lbl.BackColor = Color.Gray; 
    pic.Controls.Add(lbl); 
} 

問候

+0

您正在設置您的x和y座標,每個標籤有1個像素不同,因此它們彼此重疊。嘗試LocationY + = 50; –

回答

0

******** ************************************************** ************************************************** **我發現我的答案,我希望把它放在這裏,如果其他人有我的問題在此頁面找到並解決問題


 int number; 
    int locationX; 
    int locationY; 

    public void CreateRuntimeControl(PictureBox pic) 
    { 
     Label lbl = new Label(); 
     number++; 
     locationX++; 
     locationY = locationY + 100; 
     lbl.Name = "lbl" + number.ToString(); 
     lbl.Size = new System.Drawing.Size(100, 50); 
     lbl.Location = new System.Drawing.Point(10 + locationX, 10 + locationY); 
     lbl.Text = number.ToString(); 
     lbl.BackColor = Color.Gray; 
     pic.Controls.Add(lbl); 
    } 

最好的問候

0

你應該移動LBL =新的Label();語句來CreateRuntimeControl()函數的主體,否則你重新使用相同的標籤,只是移動它,而不是創建新的一個

+0

它做了一些標籤,但現在移動代碼後它不顯示新的標籤文本(它只顯示第一個文本),標籤之間沒有任何空間,我該怎麼辦? – Salmani

+0

你正在添加多個標籤到PictureBox控件? PictureBox是用來顯示圖片的,它不會顯示很多文字標籤。也許你應該創建一個單獨的面板,並將其標籤添加到它 –

+0

但我想在picturebox上添加多個標籤,我應該怎麼做? – Salmani

0

嘗試:

int number; 
int locationX = 2; 
int locationY = 4; 

public void CreateRuntimeControl(PictureBox pic) 
{ 
    Label lbl = new Label(); 
    number++; 
    locationX++; 
    locationY++; 
    lbl.Name = "lbl" + number.ToString(); 
    lbl.Size = new System.Drawing.Size(100, 50); 
    lbl.Location = new System.Drawing.Point(10 + locationX, 10 + locationY); 
    lbl.Text = number.ToString(); 
    lbl.BackColor = Color.Gray; 
    pic.Controls.Add(lbl); 
} 
+0

它所做的一些標籤,但現在移動代碼後它不顯示新的標籤文本(它只是顯示第一個文本),標籤之間沒有任何空間,我該怎麼辦? – Salmani

+0

你把'lbl'放到了'CreateRuntimeControl?'我的意思是'lbl'的屬性不是它的構造函數...... –