Пример #1
0
        /// <summary>
        /// Открывает окно "Объекты"
        /// </summary>
        /// <param name="sender">Отправитель</param>
        /// <param name="e">Аргументы события</param>
        public static void ShowWellKnownDockWindow(object sender, EventArgs e)
        {
            try
            {
                // Получаем ссылку на службу именованных окон "Навигатора"
                IWellKnownNavigators wkn = ServicesManager.GetService(typeof(IWellKnownNavigators)) as IWellKnownNavigators;

                // Сначала ищем открытое окно "Объекты"
                WellKnownDockWindow sampleWindow = wkn.Get(WellKnownDockWindow.WindowName) as WellKnownDockWindow;

                // Окно не найдено - создаём новое окно
                if (sampleWindow == null)
                {
                    // Новое окно
                    sampleWindow = new WellKnownDockWindow();

                    // Регистрируем окно в списке именованных окон "Навигатора"
                    wkn.Register(WellKnownDockWindow.WindowName, sampleWindow);
                }

                // Добавляем его в текущий докинг "Навигатора"
                sampleWindow.Show(ServicesManager.GetService(typeof(DockManager)) as DockManager);

                // Покажем окно на экране и сделаем его активным окном в докинге
                sampleWindow.Activate();
            }

            catch (Exception x)
            {
                MessageBox.Show(x.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }
Пример #2
0
        /// <summary>
        /// Освободить занимаемые формой ресурсы
        /// </summary>
        /// <param name="disposing">true, если требуется освободить управляемые ресурсы</param>
        protected override void Dispose(bool disposing)
        {
            // Получаем ссылку на службу именованных окон "Навигатора"
            IWellKnownNavigators wkn = ServicesManager.GetService(typeof(IWellKnownNavigators)) as IWellKnownNavigators;

            // Удалим окно из списка именованных окон "Навигатора"
            if (disposing && wkn != null)
            {
                wkn.Unregister(this);
            }

            // Удаляем компоненты
            if (disposing && (components != null))
            {
                components.Dispose();
            }

            // Базовый деструктор
            base.Dispose(disposing);
        }