public static void ShowNotice(int time, string title, string info, ToolTipIcon icon = ToolTipIcon.Info, Action CallBack = null, bool showNoticeInSystem = true)
 {
     if (OnDND)
     {
         return;
     }
     if (Environment.OSVersion.Version.Major >= 10)
     {
         if (showNoticeInSystem)
         {
             frmMain.InfoShow.ShowBalloonTip(time, title, info, icon);
             nowCallBack = CallBack;
         }
     }
     try
     {
         Program.frmMain.Invoke((EventHandler) delegate
         {                //务必给主线程去调用
             var f = new InfoShower()
             {
                 Title = title, Info = info, ExistTime = time, ToolTip = icon
             };
             f.CallBack = CallBack;
             InfoShower.ShowOnce(f);
         });
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
        private void NewStageLayout(string id = null, string path = null, LayoutStage layoutStage = null)
        {
            if (id == null)
            {
                id = InputBox.ShowInputBox("新增布局", "输入布局的名称", "默认的布局");
            }
            if (path == null)
            {
                path = InputBox.ShowInputBox("新增布局", "输入布局的位置[可选]", LstLayout.SelectedNode == null ? "Root" : LstLayout.SelectedNode.FullPath);
            }
            path = path.StartsWith("Root\\") ? path.Substring(5) : path;
            if (path.Equals("Root"))
            {
                path = string.Empty;
            }
            var realPath = $"Root{(path.Equals(string.Empty) ? "" : "\\")}{path}\\{id}";

            if (Program.manager.LayoutStage.ContainsKey(realPath))
            {
                InfoShower.ShowOnce(new InfoShower()
                {
                    Title      = "新增布局",
                    Info       = $"已存在布局:{realPath}\n已为您切换到此布局",
                    ExistTime  = 5000,
                    TitleColor = Color.PaleVioletRed
                });
                LoadPreviewStageLayout(realPath);
                return;
            }
            ;
            LoadLayoutStageToLst(id, path);
            Program.manager.LayoutStage.Add(realPath, layoutStage);
        }
示例#3
0
 public static SettingFile Load(string path)
 {
     try
     {
         var l       = new List <InfoSetting>();
         var setting = JsonConvert.DeserializeObject <SettingFile>(File.ReadAllText(path));
         if (setting.Canvas == null)
         {
             var f = new InfoShower()
             {
                 Title      = "加载失败",
                 Info       = "文件格式错误,未发现Setting节点",
                 TitleColor = Color.Red,
                 ExistTime  = 10000
             };
             InfoShower.ShowOnce(f);
         }
         return(setting);
     }
     catch (Exception ex)
     {
         var f = new InfoShower()
         {
             Title      = "加载失败",
             Info       = ex.Message,
             TitleColor = Color.Red,
             ExistTime  = 10000
         };
         InfoShower.ShowOnce(f);
         return(null);
     }
 }
        private void CmdRemoveItem_Click(object sender, EventArgs e)
        {
            var id = GetNowSelectedStreamItem();

            if (id == null)
            {
                return;
            }
            InfoShower.ShowOnce(new InfoShower()
            {
                ExistTime  = 10000,
                Title      = "删除流信息",
                Info       = $"确定要删除流:{id}吗?\n删除后您仍然可以从旧的文件中重新加载",
                TitleColor = Color.PaleVioletRed,
                CallBack   = () =>
                {
                    Program.manager.VideoStream.Remove(id);
                    LstVideoStream.Items.RemoveAt(GetLstStreamItem(id));
                    InfoShower.ShowOnce(new InfoShower()
                    {
                        ExistTime  = 5000,
                        Title      = "删除流信息",
                        Info       = $"已成功删除流:{id}",
                        TitleColor = Color.LightSeaGreen
                    });
                }
            });
        }
        private bool OutputAllImg()
        {
            if (app == null)
            {
                this.BeginInvoke((EventHandler) delegate {
                    var info = new InfoShower()
                    {
                        Title      = "未打开数据",
                        TitleColor = Color.FromArgb(255, 255, 0, 0),
                        ExistTime  = 5000
                    };
                    InfoShower.ShowOnce(info);
                });
                Xls数据ToolStripMenuItem_Click(this, EventArgs.Empty);
                return(false);
            }

            canvas.OutPut(sh, () => {
                this.BeginInvoke((EventHandler) delegate {
                    var info = new InfoShower()
                    {
                        Title      = "导出完成",
                        TitleColor = Color.FromArgb(255, 255, 0, 0),
                        ExistTime  = 15000
                    };
                    InfoShower.ShowOnce(info);
                });
            });

            return(true);
        }
        private void CmdColor_Click(object sender, EventArgs e)
        {
            OnSelectSetting = true;
            try
            {
                if (ColorSet.ShowDialog() == DialogResult.OK)
                {
                    setting.ForeColor = ColorSet.Color;
                    CtlShowTextRenderDemo.ForeColor = fontSet.Color;
                    CmdColor.BackColor = fontSet.Color;
                }
            }
            catch (Exception ex)
            {
                var f = new InfoShower()
                {
                    Title      = "设置字体颜色失败",
                    Info       = ex.Message,
                    TitleColor = Color.FromArgb(255, 200, 100)
                };
                InfoShower.ShowOnce(f);
            }


            OnSelectSetting = false;
        }
        private void CmdLayoutSave_Click(object sender, EventArgs e)
        {
            var f = new SaveFileDialog()
            {
                Title    = "保存布局",
                Filter   = $"{StageLayoutListTypeName}|*.{StageLayoutListTypeName}",
                FileName = $"{DateTime.Now.ToString("yyyyMMdd_hhmmss")}.{StageLayoutListTypeName}"
            };

            if (f.ShowDialog() == DialogResult.OK)
            {
                if (!f.FileName.EndsWith($".{StageLayoutListTypeName}"))
                {
                    f.FileName = $"{f.FileName}.{StageLayoutListTypeName}";
                }
                File.WriteAllText(f.FileName, JsonConvert.SerializeObject(Program.manager.LayoutStage));
                InfoShower.ShowOnce(new InfoShower()
                {
                    Title      = "保存布局成功",
                    Info       = $"已存储{Program.manager.LayoutStage.Count}条到\n{f.FileName}",
                    ExistTime  = 5000,
                    TitleColor = Color.LawnGreen
                });
            }
        }
        private void 尺寸ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var f = new FrmSizeSetting(canvas.ScaleWidth, canvas.ScaleHeight, (w, h) => {
                var lastW          = canvas.ScaleWidth;
                var lastH          = canvas.ScaleHeight;
                canvas.ScaleWidth  = w;
                canvas.ScaleHeight = h;
                canvas.OnSizeModefy?.Invoke(w, h);
                canvasNeedRefresh = true;
                var info          = new InfoShower()
                {
                    Title      = "尺寸已修改",
                    Info       = string.Format("已修改尺寸为{0}*{1}点击此处以恢复输出图像尺寸{2}*{3}", w, h, lastW, lastH),
                    TitleColor = Color.FromArgb(255, 50, 200, 50),
                    ExistTime  = 5000,
                    CallBack   = () => {
                        canvas.ScaleWidth  = lastW;
                        canvas.ScaleHeight = lastH;
                        var info2          = new InfoShower()
                        {
                            Title      = "尺寸已恢复",
                            Info       = string.Format("已恢复尺寸为{0}*{1}", lastW, lastH),
                            TitleColor = Color.FromArgb(255, 50, 200, 50),
                            ExistTime  = 5000
                        };
                        InfoShower.ShowOnce(info2);
                        canvas.OnSizeModefy?.Invoke(canvas.ScaleWidth, canvas.ScaleHeight);
                        canvasNeedRefresh = true;
                    }
                };
                InfoShower.ShowOnce(info);
            });

            f.Show();
        }
        private void LoadLayoutStageSettingFromFile(string fileName)
        {
            if (!fileName.EndsWith($".{StageLayoutListTypeName}"))
            {
                fileName = $"{fileName}.{StageLayoutListTypeName}";
            }
            var info = File.ReadAllText(fileName);

            try
            {
                Program.manager.LayoutStage = JsonConvert.DeserializeObject <Dictionary <string, LayoutStage> >(info);
                ReloadLstLayoutStage();
            }
            catch (Exception ex)
            {
                InfoShower.ShowOnce(new InfoShower()
                {
                    Title      = "载入布局失败",
                    Info       = $"发生错误:{ex.Message}",
                    ExistTime  = 5000,
                    TitleColor = Color.PaleVioletRed
                });
            }
            InfoShower.ShowOnce(new InfoShower()
            {
                Title      = "载入布局成功",
                Info       = $"预设文件读取成功,共计:{Program.manager.LayoutStage.Count}条",
                ExistTime  = 5000,
                TitleColor = Color.LawnGreen
            });
            Program.manager.RegSetting.In("StageLayout").SetInfo("historyFile", fileName);
        }
        private void 关于ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var info = new InfoShower()
            {
                Title      = "模板生成器",
                Info       = "	这是一个旨在减少加班强度,延长发际线寿命的PC端程序。你可以用它做任何程序化的材料,当然,如果有好的想法:\nQQ:331945833 备注【模板生成器】",
                TitleColor = Color.FromArgb(255, 50, 255, 100),
                InfoColor  = Color.FromArgb(255, 200, 100, 200),
                ExistTime  = 60000,
            };

            InfoShower.ShowOnce(info);
        }
示例#11
0
 private bool CheckFocusStageLayout(string actionName)
 {
     if (nowFocusStage == null)
     {
         InfoShower.ShowOnce(new InfoShower()
         {
             Title      = "编辑布局",
             Info       = $"{actionName}失败:当前未选中布局",
             ExistTime  = 5000,
             TitleColor = Color.PaleVioletRed
         });
         return(false);
     }
     return(true);
 }
示例#12
0
 private bool CheckExistStageLayout(string text)
 {
     if (!Program.manager.LayoutStage.ContainsKey(text))
     {
         InfoShower.ShowOnce(new InfoShower()
         {
             Title      = "切换布局",
             Info       = $"未能在已加载项中找到布局:\n{text}",
             ExistTime  = 10000,
             TitleColor = Color.PaleVioletRed
         });
         return(false);
     }
     return(true);
 }
 private void 导出ToolStripMenuItem_Click_1(object sender, EventArgs e)
 {
     if (OutputAllImg())
     {
         this.BeginInvoke((EventHandler) delegate {
             var info = new InfoShower()
             {
                 Title      = "开始导出",
                 TitleColor = Color.FromArgb(255, 255, 255, 0),
                 Info       = "导出过程中 按[Esc]以停止进程",
                 ExistTime  = 10000
             };
             InfoShower.ShowOnce(info);
         });
     }
 }
 private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     canvas.List.Clear();
     SettingModel.BackGroundImg = "";
     this.BgImage = null;
     this.BeginInvoke((EventHandler) delegate {
         var info = new InfoShower()
         {
             Title      = "新建文件",
             TitleColor = Color.FromArgb(255, 50, 200, 50),
             ExistTime  = 5000
         };
         InfoShower.ShowOnce(info);
     });
     canvasNeedRefresh = true;
 }
示例#15
0
 private void FrmSetting_FormClosing(object sender, FormClosingEventArgs e)
 {
     RegUtil.SetFormPos(this);
     e.Cancel = true;
     InfoShower.ShowOnce(new InfoShower()
     {
         ExistTime  = 10000,
         Title      = "无效的操作",
         Info       = "如果需要关闭程序,点击此处",
         TitleColor = Color.PaleVioletRed,
         CallBack   = () => {
             this.Hide();
             Program.frmMain.Close();
         }
     });
 }
        private void  制信息框ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            foreach (var item in selectedCtl)
            {
                var l = new InfoSetting()
                {
                    AutoNewLine = item.Setting.AutoNewLine,
                    FontName    = item.Setting.FontName,
                    FontSize    = item.Setting.FontSize,
                    TagName     = item.Setting.TagName,
                    ForeColor   = item.Setting.ForeColor,
                    H           = item.Setting.H,
                    W           = item.Setting.W,
                    X           = item.Setting.X,
                    Y           = item.Setting.Y,
                    TargetCol   = item.Setting.TargetCol,
                    TextAlign   = item.Setting.TextAlign
                };
                var c = new Element(l)
                {
                    OnCtlSelected = (ctl, mutiSelect) => {
                        if (ctl != null)
                        {
                            selectedCtl.Add(ctl);
                            ctl.Selected = true;
                        }
                    },
                };
                c.MoveConfirm();
                canvas.List.Add(c);
                l.OnSettingModify = (setting) => {
                    c.RefreshAnySetting();
                    canvasNeedRefresh = true;
                };
                list.New(l, false);

                var info = new InfoShower()
                {
                    Title      = "复制对象",
                    Info       = item.Text,
                    TitleColor = Color.FromArgb(255, 50, 200, 50),
                    ExistTime  = 5000,
                };
                InfoShower.ShowOnce(info);
            }
            canvasNeedRefresh = true;
        }
示例#17
0
        public static void Save(IEnumerable <InfoSetting> list, string path, string filterName, Canvas canvas)
        {
            var data = new SettingFile()
            {
                Name    = path,
                Canvas  = canvas,
                Content = list
            };
            var setting = JsonConvert.SerializeObject(data);

            File.WriteAllText(path, setting);
            InfoShower.ShowOnce(new InfoShower()
            {
                Title      = "已保存",
                Info       = path,
                TitleColor = Color.Green
            });
        }
        private void 清除无效框ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var waitToClear = new List <Element>();

            foreach (var element in canvas.List)
            {
                if (element.BindingFiled == null || element.BindingFiled.Length == 0)
                {
                    waitToClear.Add(element);
                }
            }

            if (waitToClear.Count > 0)
            {
                var f = new InfoShower()
                {
                    Title      = "确认清除?",
                    Info       = string.Format("共计{0}个信息框可清除,点击此处确认。", waitToClear.Count),
                    ExistTime  = 10000,
                    TitleColor = Color.Yellow,
                    CallBack   = () => {
                        foreach (var element in waitToClear)
                        {
                            canvas.List.Remove(element);
                        }
                        var f2 = new InfoShower()
                        {
                            Title      = "清除完成",
                            TitleColor = Color.LawnGreen
                        };
                        InfoShower.ShowOnce(f2);
                    }
                };
                InfoShower.ShowOnce(f);
            }
            else
            {
                var f = new InfoShower()
                {
                    Title = "暂无需要清除的信息框", Info = "只有未绑定字段的信息框会被清除"
                };
                InfoShower.ShowOnce(f);
            }
        }
 private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (CheckNowFileModefied())
     {
         return;
     }
     focusSettingFileName = null;
     canvas.List.Clear();
     canvas.SetBckImage(null);
     this.BeginInvoke((EventHandler) delegate {
         var info = new InfoShower()
         {
             Title      = "新建文件",
             TitleColor = Color.FromArgb(255, 50, 200, 50),
             ExistTime  = 5000
         };
         InfoShower.ShowOnce(info);
     });
     canvasNeedRefresh = true;
 }
        private void Xls数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var t = new OpenFileDialog()
            {
                Title  = "导入数据",
                Filter = "Office表格|*.xls;*.xlsx"
            };

            if (t.ShowDialog() == DialogResult.OK)
            {
                var fileName = t.FileName.Substring(t.FileName.LastIndexOf('\\') + 1);
                if (onFileLoading)
                {
                    this.BeginInvoke((EventHandler) delegate {
                        var info = new InfoShower()
                        {
                            Title      = "上一文件正在处理中",
                            TitleColor = Color.FromArgb(255, 255, 0, 0),
                            ExistTime  = 5000
                        };
                        InfoShower.ShowOnce(info);
                    });
                    return;
                }
                var thr = new Thread(() => {
                    onFileLoading = true;
                    if (app != null)
                    {
                        this.BeginInvoke((EventHandler) delegate {
                            var info = new InfoShower()
                            {
                                Title     = string.Format("{0} 加载中...", fileName),
                                Info      = string.Format("正在关闭已开启的数据 {0}", lastFileName),
                                ExistTime = 5000
                            };
                            InfoShower.ShowOnce(info);
                        });
                        if (bk != null)
                        {
                            bk.Close(false);
                        }
                        app.Quit();
                        app = null;
                    }
                    else
                    {
                        this.BeginInvoke((EventHandler) delegate {
                            var info = new InfoShower()
                            {
                                Title     = string.Format("{0} 加载中...", fileName),
                                Info      = string.Format("新的数据正在打开中"),
                                ExistTime = 5000
                            };
                            InfoShower.ShowOnce(info);
                        });
                    }

                    app = new Microsoft.Office.Interop.Excel.Application();
                    if (app == null)
                    {
                        MessageBox.Show("无法创建excel对象,可能您的电脑未安装excel");
                    }

                    bk           = app.Workbooks.Open(t.FileName, ReadOnly: true);
                    lastFileName = bk.Name;
                    sh           = bk.Worksheets[1];
                    this.BeginInvoke((EventHandler) delegate {
                        var info = new InfoShower()
                        {
                            Title      = string.Format("{0} 加载完成", fileName),
                            Info       = string.Format("{0}行{1}列已加载", sh.UsedRange.Rows.Count, sh.UsedRange.Columns.Count),
                            TitleColor = Color.FromArgb(255, 50, 255, 50),
                            ExistTime  = 5000
                        };
                        InfoShower.ShowOnce(info);
                    });
                    onFileLoading = false;
                });
                thr.Start();
            }
        }