private void ShowPropertiesDisplay() { if (_propertiesDisplay == null) { var mainForm = ((Control)_view).FindForm(); _propertiesDisplay = new TestPropertiesDisplay(_model, _view) { Owner = mainForm, Font = mainForm.Font, StartPosition = FormStartPosition.Manual }; var midScreen = Screen.FromHandle(mainForm.Handle).WorkingArea.Width / 2; var midForm = (mainForm.Left + mainForm.Right) / 2; _propertiesDisplay.Left = midForm < midScreen ? mainForm.Right : Math.Max(0, mainForm.Left - _propertiesDisplay.Width); _propertiesDisplay.Top = mainForm.Top; _propertiesDisplay.Closed += (s, e) => _propertiesDisplay = null; } _propertiesDisplay.Display(_view.ContextNode); }
private void ClosePropertiesDisplay() { if (_propertiesDisplay != null) { _propertiesDisplay.Close(); _propertiesDisplay = null; } }