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); }
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); }
private bool CheckFocusStageLayout(string actionName) { if (nowFocusStage == null) { InfoShower.ShowOnce(new InfoShower() { Title = "编辑布局", Info = $"{actionName}失败:当前未选中布局", ExistTime = 5000, TitleColor = Color.PaleVioletRed }); return(false); } return(true); }
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; }
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; }
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(); } }