public ATMLLibraryForm(Type classType) { InitializeComponent(); HideOnClose = true; try { object control = Activator.CreateInstance(classType); _listControl = control as ATMLLibraryListControl; if (_listControl != null) { Controls.Add(_listControl); _listControl.Location = new Point(0, toolStrip.Bottom); _listControl.Width = ClientSize.Width; _listControl.Height = ClientSize.Height - toolStrip.Height; _listControl.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; var actionable = _listControl as IAtmlActionable; if (actionable != null) actionable.AtmlObjectAction += OnAtmlObjectAction; Text = _listControl.ListName + @"s"; _listControl.InitializeForm += delegate(Form form) { var atmlForm = form as ATMLForm; if (atmlForm != null) atmlForm.CloseOnSave = false; }; } var mnuContextMenu = new ContextMenu(); TabPageContextMenu = mnuContextMenu; var mnuItemNew = new MenuItem(); mnuItemNew.Text = @"Close"; mnuItemNew.Click += mnuItemNew_Click; mnuContextMenu.MenuItems.Add(mnuItemNew); mnuItemNew.Tag = this; } catch (Exception e ) { LogManager.Error( e, "Error creating instance for class type: {0}", classType ); } }