描述下: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 欢迎进行技术交流