예제 #1
0
        private void HandleFormClosed(object sender, FormClosedEventArgs e)
        {
            //Remove from the dictionaries
            TrackShackWindow window = (TrackShackWindow)sender;

            if (window.Track == null)
            {
                SingleForms.Remove(window.WindowType);
            }
            else
            {
                if (TrackForms.ContainsKey(window.Track))
                {
                    TrackForms[window.Track].Remove(window.WindowType);
                }
            }
        }
예제 #2
0
        public void ShowSingleForm(TrackShackWindowType type)
        {
            if (SingleForms.ContainsKey(type))
            {
                TrackShackWindow form = SingleForms[type];

                if (form.WindowState == FormWindowState.Minimized)
                {
                    ShowWindow(form.Handle, SW_RESTORE);
                }

                form.BringToFront();
            }
            else
            {
                TrackShackWindow form = GenerateSingleForm(type);

                SingleForms.Add(type, form);
                form.MdiParent    = _parentForm;
                form.FormClosing += HandleFormClosing;
                form.FormClosed  += HandleFormClosed;
                form.Show();
            }
        }