5 / 5 / 0
Регистрация: 16.07.2009
Сообщений: 87

Cannot set Visibility or call Show or ShowDialog after window has closed.

27.04.2011, 12:26. Показов 2547. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из диалогового окна пытаюсь передать данные так:
Диалоговое окно
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public partial class Start_window : Window
    {
        public int choise =0; //new proj - 1, open proj - 2, exit - 0
 
        public Start_window()
        {
            InitializeComponent();
            
        }
 
        private void button1_newproj_Click(object sender, RoutedEventArgs e)
        {
            choise = 1;
            this.DialogResult = true;
            //this.Close();
        }
 
        private void button1_openproj_Click(object sender, RoutedEventArgs e)
        {
            choise = 2;
            this.DialogResult = true;
            //this.Close();
        }
 
        private void button1_exitproj_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = false;
        }
    }

Главное окно:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 public Window1()
        {
            InitializeComponent();
            
            Start_window start = new Start_window();
            start.ShowDialog();
 
            if (start.DialogResult == true)
            {
                if (start.choise == 1)
                {
                    MessageBox.Show("OK");
                    start.Close();
                }
                if (start.choise == 2)
                {
                    MessageBox.Show("Open");
                    start.Close();
                }
            }
            else
            {
                //this.Show();
                start.Close();
                this.Close();
            }
 
            
        }
Проблема в том, если мы выбираем "выход" в диалоговом окне, то нужно закрыть и родительское, но оно не закрывается через this.Close(); - выдаёт ошибку (Cannot set Visibility or call Show or ShowDialog after window has closed.)
Приходится вначале this.Show(); а потом закрыть, что приводит к мельканию родительского окна перед закрытием, что не очень красиво. Подскажите, как правильно закрыть parent window?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2011, 12:26
Ответы с готовыми решениями:

Вызов Window.ShowDialog() срабатывает как Window.Show(), т.е. я могу нажимать на другие окна
Здравствуйте, уважаемые форумчане. Столкнулся с проблемой. У меня есть окно, которое выполняет некоторые действия всё время работы...

Window.Visibility
Что-то не как догнать не могу. И инфу искал не нашёл толком. Пытался привязать Window.Visibility - не реагирует на привязку.

Show() и showdialog()
У меня созданы 2 формы. При нажатии на кнопку на первой форме открывается вторая (методом Show()) и закрывается как только получило...

4
146 / 130 / 27
Регистрация: 20.12.2010
Сообщений: 242
27.04.2011, 13:49
скопировал данный код
все закрывается.
1
5 / 5 / 0
Регистрация: 16.07.2009
Сообщений: 87
27.04.2011, 13:51  [ТС]
во дела, у меня 2008я студия.
у Вас наверное 2010?
0
146 / 130 / 27
Регистрация: 20.12.2010
Сообщений: 242
27.04.2011, 14:04
Цитата Сообщение от delias Посмотреть сообщение
во дела, у меня 2008я студия.
у Вас наверное 2010?
да, у мну 2010
0
5 / 5 / 0
Регистрация: 16.07.2009
Сообщений: 87
27.04.2011, 14:06  [ТС]
ясно, тогда просто через try catch спрячу эту ошибку да и всё
спасибо за содействие!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.04.2011, 14:06
Помогаю со студенческими работами здесь

show и showdialog
назадача получилась у мен код программы:private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { ...

Динамически создаваемая форма и ее методы Show() и ShowDialog()
У меня приложение может в опред. моменты, в процессы работы, надолго погружаться в свои вычисления и чтобы как-то информировать...

Как передать данные между формами, без Show/ShowDialog
Есть 3 формы: 1. MainForm, которая является меню и родительской формой, на ней имеются кнопки в виде toolstrip, которые, запускают...

Не могу вызвать метод на выполнение на другой форме из-за того что она открыта через ShowDialog а не Show
Хочу вызвать метод на другой форме на выполнение при помощи делегата . Но не могу, так как использую вот такой вот переход на вторую форму...

PyQT window show по горячим клавишам
Не получается реализовать демонстрацию окна по горячим клавишам. Хочу добиться следующего: окно было свернуто, по нажатию "горячих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru