簡體   English   中英

在運行時添加對象?

[英]Adding objects during run time?

背景

我有一個選項卡,如果我的數據庫中的查詢返回了多個記錄,該選項卡將變為活動狀態。

對於返回的每條記錄,我希望創建一組標簽並將其放置在選項卡上。 例如,如果有8條記錄,我希望創建8個標簽。

  1. 即使計數顯示我有8條記錄,我的循環也只會創建一個標簽? 不知道為什么嗎?

  2. 如何在循環中創建標簽8次而又不在同一位置繪制8次? 我希望他們出現在水平列表中。 我很確定我編寫解決方案的方式,它們都將在同一位置繪制嗎?

for (int i = 1; i <= rowCount; i++)
{      
    // Create objects 
    LinkLabel Linklabel1 = new LinkLabel();
    Linklabel1.Text += ds.Tables[0].Rows[0]["code"].ToString();
    Linklabel1.Location = new Point(10, 50);
    Linklabel1.Height = 40;
    Linklabel1.Width = 100;
    tabControl1.TabPages[0].Controls.Add(Linklabel1);       
}

嘗試這樣的事情:

        for (int i = 0; i < rowCount; i++)
        {
            // Create objects 
            LinkLabel Linklabel1 = new LinkLabel();
            Linklabel1.Text = ds.Tables[0].Rows[i]["code"].ToString();
            Linklabel1.Height = 40;
            Linklabel1.Width = 100;
            Linklabel1.Location = new Point((i + 1) * 10 + (i * Linklabel1.Width), 50);
            tabControl1.TabPages[0].Controls.Add(Linklabel1);
        }

如果您不想通過設置Location()屬性來顯式定位它們,請考慮將FlowLayoutPanel放在TabPage上,然后向其中添加控件。 然后他們會自動為您定位。

暫無
暫無

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

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