using Net462DllTest.Signal; using Serein.Library.Api; using Serein.Library.Attributes; using Serein.Library.NodeFlow.Tool; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Net462DllTest.Trigger { /// /// 视图管理 /// [AutoRegister] public class ViewManagement : ChannelFlowTrigger { public ViewManagement(IFlowEnvironment environment) { } public int Id = new Random().Next(1, 10000); private readonly List
forms = new List(); /// /// 打开窗口 /// /// 要打开的窗口类型 /// 是否置顶 public void OpenView(Form form, bool isTop) { form.TopMost = isTop; form.Show(); forms.Add(form); } public void CloseView(Type formType) { var remoteForms = forms.Where(f => f.GetType() == formType).ToArray(); foreach (Form f in remoteForms) { f.Close(); f.Dispose(); this.forms.Remove(f); } } } }