winform PictureBox圖片上動態添加Label或其餘控件

 

  效果圖:this

 

代碼:spa

 //分頁或者屢次加載時,須要刪除以前產生的lable等控件
   for (int tabID = 0; tabID < 15; tabID++)
            {
                foreach (Control control in this.tableLayoutPanel2.Controls)
                {

                    // 遍歷全部TextBox...
                    if (control is PictureBox)
                    {
                        PictureBox t = (PictureBox)control;
if (control.TabIndex == tabID) { if (tabID > list.Count - 1) { for (int i = tabID; i < 15; i++) { //this.tableLayoutPanel2.Controls.Remove(control); t.ImageLocation = null; t.Controls.Remove(t.Controls[tabID.ToString()]); string d = ("NO" + tabID.ToString()); t.Controls.Remove(t.Controls[d]); t.Tag = -1; } break; } t.ImageLocation = list[tabID].VehicleImage; t.Tag = (list[tabID].Id).ToString(); string m = ("NO" + tabID.ToString()); t.Controls.Remove(t.Controls[tabID.ToString()]); t.Controls.Remove(t.Controls[m]); Label C = new Label(); C.Parent = t; C.Width = 100; C.Text = list[tabID].VehicleNumber; C.Font = new Font("", 15); C.ForeColor = Color.Black; C.Dock = DockStyle.Top; C.BackColor = Color.Transparent; C.TextAlign = ContentAlignment.TopLeft; C.AutoSize = false; C.Name = "NO" + tabID.ToString(); Label B = new Label(); B.Parent = t; B.Width = 100; B.Text = list[tabID].VehicleZT; B.Font = new Font("", 18); switch (list[tabID].VehicleZT) { case "待派": B.ForeColor = Color.Blue; break; case "已派": B.ForeColor = Color.Green; break; case "維修": B.ForeColor = Color.Yellow ; break; case "停駛": B.ForeColor = Color.Red; break; } B.Dock = DockStyle.Bottom; B.BackColor = Color.Transparent; B.TextAlign = ContentAlignment.BottomRight; B.AutoSize = false; B.Name = tabID.ToString(); } } } }
相關文章
相關標籤/搜索