Beispiel #1
0
        public virtual void Show(IWin32Window owner, IServiceProvider provider)
        {
            if (VisualizerDialog == null)
            {
                VisualizerDialog       = CreateVisualizerDialog(provider);
                VisualizerDialog.Load += delegate
                {
                    var bounds = Bounds;
                    if (!bounds.IsEmpty && (SystemInformation.VirtualScreen.Contains(bounds) || WindowState != FormWindowState.Normal))
                    {
                        VisualizerDialog.LayoutBounds = bounds;
                        VisualizerDialog.WindowState  = WindowState;
                    }
                };

                VisualizerDialog.FormClosed += delegate
                {
                    Bounds = VisualizerDialog.LayoutBounds;
                    if (VisualizerDialog.WindowState == FormWindowState.Minimized)
                    {
                        WindowState = FormWindowState.Normal;
                    }
                    else
                    {
                        WindowState = VisualizerDialog.WindowState;
                    }
                    VisualizerDialog.Dispose();
                };

                VisualizerDialog.HandleDestroyed += (sender, e) => VisualizerDialog = null;
                InitializeComponents(VisualizerDialog, provider);
                if (VisualizerDialog.TopLevel)
                {
                    if (owner != null)
                    {
                        VisualizerDialog.Show(owner);
                    }
                    else
                    {
                        VisualizerDialog.Show();
                    }
                }
            }

            VisualizerDialog.Activate();
        }