Пример #1
0
 private void FrmMain_Load(object sender, EventArgs e)
 {
     try
     {
         FormClosing += (senders, ex) =>
         {
             GC.Collect();
             Application.Exit();
         };
         StringBuilder selectOrder = new StringBuilder(255);
         PublicClass.GetPrivateProfileString("SkinPath", "SkinPathValue", " ", selectOrder, 255,
                                             _configPath);
         if (string.IsNullOrEmpty(selectOrder.ToString()))
         {
             skinEngine1.Active = false;
             return;
         }
         skinEngine1.SkinFile = selectOrder.ToString();
     }
     catch { }
 }
Пример #2
0
        /// <summary>
        /// 列表显示内容
        /// </summary>
        private void ShowBegin()
        {
            try
            {
                //获取设置的显示顺序
                StringBuilder selectOrder = new StringBuilder(255);
                PublicClass.GetPrivateProfileString("SelectOrder", "SelectOrderValue", " ", selectOrder, 255,
                                                    _configPath);
                //获取显示信息
                DataTable dtShow = BllShowInfo.GetShowStateInfo(selectOrder.ToString());
                showContents = new List <ShowContent>();
                for (int i = 0; i < dtShow.Rows.Count; i++)
                {
                    //判断开始结束时间进行显示
                    if (Convert.ToDateTime(dtShow.Rows[i]["BeginTime"]) <= DateTime.Now && Convert.ToDateTime(dtShow.Rows[i]["EndTime"]) >= DateTime.Now)
                    {
                        if (showInfo.ContainsKey(dtShow.Rows[i]["Id"].ToString()))
                        {
                            continue;
                        }
                        string content   = string.Empty;//一个编组序好
                        int    configNum = Convert.ToInt32(dtShow.Rows[i]["ConfigNum"]);

                        //列表
                        Panel panel = new Panel()
                        {
                            Dock = DockStyle.Top, Height = 70
                        };
                        if (Convert.ToInt32(dtShow.Rows[i]["ByOrder"]) == 0)//顺序
                        {
                            for (int j = 0; j < configNum; j++)
                            {
                                content += (j + 1) + ",";
                            }
                            panel.BackColor = Color.FromArgb(224 + i * 3, 224, 224);
                        }
                        else
                        {
                            for (int j = configNum; 0 < j; j--)//倒序
                            {
                                content += j + ",";
                            }
                            panel.BackColor = Color.FromArgb(224, 224 + i * 3, 224 + i * 3);
                        }
                        string order = Convert.ToInt32(dtShow.Rows[i]["ByOrder"]) == 0 ? "正序" : "倒序";
                        Label  label = new Label()
                        {
                            Dock = DockStyle.Bottom, Font = new Font("微软雅黑", 13), Height = 70
                        };
                        label.Text = "区域:" + dtShow.Rows[i]["AreaName"].ToString() + "     配置编号 " + dtShow.Rows[i]["ConfigName"].ToString()
                                     + "    时间段:" + dtShow.Rows[i]["BeginTime"].ToString() + "-" + dtShow.Rows[i]["EndTime"].ToString() + "   编组:"
                                     + configNum + "     开始屏幕:" + dtShow.Rows[i]["ScreenID"].ToString() + "     顺序:" + order + "     序号:" + content.Remove(content.LastIndexOf(","), 1);
                        showInfo.Add(dtShow.Rows[i]["Id"].ToString(), Convert.ToDateTime(dtShow.Rows[i]["BeginTime"]));

                        //已显示的内容临时保存
                        ShowContent showContent = new ShowContent()
                        {
                            ConfigName  = dtShow.Rows[i]["ConfigName"].ToString(),
                            GroupNum    = configNum,
                            BeginTime   = Convert.ToDateTime(dtShow.Rows[i]["BeginTime"]),
                            EndTime     = Convert.ToDateTime(dtShow.Rows[i]["EndTime"]),
                            AllContents = content.Remove(content.LastIndexOf(","), 1),
                            SingleTxt   = dtShow.Rows[i]["SingleTxt"].ToString(),
                            ScreenID    = Convert.ToInt32(dtShow.Rows[i]["ScreenID"]),
                            ByOrder     = Convert.ToInt32(dtShow.Rows[i]["ByOrder"]),
                            AddressNum  = Convert.ToInt32(dtShow.Rows[i]["AddressNum"]),
                        };
                        if (!showContents.Contains(showContent))
                        {
                            showContents.Add(showContent);
                        }
                        panel.Controls.Add(label);
                        panel.Tag = dtShow.Rows[i]["Id"].ToString();
                        pnlContent.Controls.Add(panel);

                        BllShowInfo.UpdateShowState(dtShow.Rows[i]["ID"].ToString(), 1);//已显示更新状态
                    }
                }

                //到结束时间,不显示
                for (int i = 0; i < dtShow.Rows.Count; i++)
                {
                    if (Convert.ToDateTime(dtShow.Rows[i]["EndTime"]) <= DateTime.Now)
                    {
                        foreach (Panel item in pnlContent.Controls)
                        {
                            if (item.Tag.Equals(dtShow.Rows[i]["ID"].ToString()))
                            {
                                pnlContent.Controls.Remove(item);
                                showInfo.Remove(dtShow.Rows[i]["ID"].ToString());
                                BllShowInfo.UpdateShowState(dtShow.Rows[i]["ID"].ToString(), 2);//显示结束更新状态
                            }
                        }
                    }
                    else
                    {
                        continue;
                    }
                }
                dtShow.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }