簡體   English   中英

C#標簽在GroupBox中不可見

[英]C# Label not visible in GroupBox

我有一個循環,該循環應該通過DataTable,並為每一行創建一個新的GroupBox,將其文本設置為一列中的值,在該GroupBox中,我想放置一個帶有Text的Label,類似於表中的另一列。 這只是代碼的一部分!

for (int i = 0; i < tab.Rows.Count; i++)
{
    lblbox[i] = new GroupBox();
    lblbox[i].Text = tab.Rows[i]["text"].ToString();
    lblbox[i].Name = "box no " + i.ToString();
    lblbox[i].Visible = true;        
    this.Controls.Add(lblbox[i]);
    lblbox[i].Location = new Point(5, 55 * i);
    lblbox[i].Height = 50;
    lblbox[i].SendToBack();
    importancelbl[i] = new Label();
    importancelbl[i].Text = "Importance: " + tab.Rows[i]["importance"].ToString();
    importancelbl[i].Name = "implbl" + i.ToString();
    importancelbl[i].Visible = true;
    lblbox[i].Controls.Add(importancelbl[i]);
    importancelbl[i].BringToFront();
    Point locP = new Point();
    locP.X = lblbox[i].Location.X + 5;
    locP.Y = lblbox[i].Location.Y + 15;
    importancelbl[i].Location = locP;

}

當我運行代碼時,它將正確創建三個(我的表中有三行)GroupBoxes並創建所有標簽, 但是在其Groupbox中只有第一個標簽可見。 當我將這些標簽添加到Form而不是GroupBox時,所有這些標簽都是可見的,但是我希望將它們放置在框中...我已經嘗試了幾乎所有內容,但仍然感到非常困惑(尤其是行為問題)第一個標簽的標簽)。 我知道這個錯誤可能很明顯而且很愚蠢,但是我找不到它!

Control.Location相對於其父項,因此將標簽的Location設置為(5,15)。

locP.X = 5;
locP.Y = 15;

我的猜測是,它們以某種方式重疊並且使彼此以某種方式消失。

您可以嘗試在表單正常工作和不正常工作時張貼圖片嗎? 還添加所有代碼嗎?

嘗試進行瓶坯添加

lblbox[i].Controls.Add(importancelbl[i]);
this.Controls.Add(lblbox[i]);

設置完所有屬性后

暫無
暫無

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

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