描述下:MetroTilePanel包含子集ItemContainer 子集下面又包含子集MetroTileItem 目前我用到的就是這三層
因為需求所以整個模塊全部由代碼實現
1.ItemContainer加載MetroTileItem
private void FillICGroup(ItemContainer icGroup) { CustomList CLS = new CustomList("科室運行狀態列表"); DataTable DTKs = CLS.GetList("'" + icGroup.Tag.ToString() + "'"); if (DTKs.Rows.Count > 0) { DateTime dtserverTime = DateTime.Parse(GV.getSvrDate()).AddMinutes(-10); string strAlert = ""; string MessageInfo = ""; foreach (DataRow dr in DTKs.Rows) { CustomList CLMM = new CustomList("計算機登錄記錄明細"); DataTable DTMS = CLMM.GetList(dr["科室代碼"].ToString(), icGroup.Tag.ToString()); if (DTMS.Rows.Count > 0) { DateTime DTtime = DateTime.Parse(DTMS.Rows[0]["時間"].ToString()).AddHours(4); if (DateTime.Parse(DTMS.Rows[0]["時間"].ToString()).AddHours(4) >= DateTime.Now) { MessageInfo = "正在運行"; } else if (DateTime.Parse(DTMS.Rows[0]["時間"].ToString()).AddHours(4) < DateTime.Now && DateTime.Parse(DTMS.Rows[0]["時間"].ToString()).AddHours(24) >= DateTime.Now) { MessageInfo = "停止超過四小時"; } else { MessageInfo = "停止超過一天"; } } else { MessageInfo = "未運行"; } var converter = new ColorConverter(); MetroTileItem MTI = new MetroTileItem(); MTI.Tag = dr["系統代碼"].ToString().Trim(); MTI.Name = dr["科室代碼"].ToString().Trim(); MTI.TileStyle.BackColor = StrText(MessageInfo.Trim());//設置三級的樣式 MTI.TileStyle.BackColor2 = StrText(MessageInfo.Trim()); MTI.GlobalName = dr["科室名稱"].ToString().Trim(); MTI.AccessibleName = dr["系統代碼"].ToString().Trim();
//給相應的屬性復制,在點擊事件中用得到(個人會用) MTI.TileSize = new Size(int.Parse(iniFileOperation.ReadString(dr["系統代碼"].ToString().Trim(), "width", "150", ConfigPath)), int.Parse(iniFileOperation.ReadString(dr["系統代碼"].ToString().Trim(), "heigh", "70", ConfigPath))); string DT = DateTime.Now.AddMonths(-3).ToString("yyyy-MM-01 00:00:00"); string timestar = DT; string timeEnd = DateTime.Now.ToString("yyyy-MM-01 00:00:00"); CustomList Count1 = new CustomList("信息條數"); DataTable DTCount = Count1.GetList(dr["科室代碼"].ToString().Trim(), dr["系統代碼"].ToString().Trim(), timestar, timeEnd);
//設置模塊右上角Logo
if (DTCount.Rows[0][0].ToString() != "0") { MTI.Symbol = "\uf075"; MTI.SymbolColor = Color.Red; MTI.SymbolSize = 16; MTI.ImageTextAlignment = ContentAlignment.TopRight; } MTI.CheckBehavior = eMetroTileCheckBehavior.MiddleMouseButtonClick; MTI.TitleText = "" + dr["科室名稱"].ToString().Trim(); MTI.TitleTextAlignment = ContentAlignment.MiddleCenter; MTI.TitleTextFont = _ContentTextFont; //根據需求綁定事件
MTI.Click += MTI_Click; MTI.MouseDown += MTI_MouseDown;
//第三集項加載到第二級 icGroup.SubItems.Add(MTI);
//第一級加載第二級
MTP.Items.Add(icGroup); } } }
展示圖片:
QQ :958369746 歡迎進行技術交流