Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 30

Открыть вторую форму по истечении некоторого времени

23.02.2015, 10:51. Показов 1492. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 2 формы, нужно чтобы при запуске первая форма продержалась секунды три и закрылась, а вместо неё появилась/открылась вторая форма (изначально её не видно).
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 public partial class Fon : Form
    {
        public Fon()
        {
            InitializeComponent();
        }
 
        private void Fon_Load(object sender, EventArgs e)
        {
            Timer tmr = new Timer();
            tmr.Interval = 300;
            tmr.Tick += delegate
            {
                
                 this.Close();
                 Form2 f2 = new Form2();
                f2.Show(); 
            };
            tmr.Start();
            
        }
я пробую так, но в таком случае обе формы скрываются сразу после отработки таймера

Добавлено через 39 минут
Разобралась, метод угловатый, но работающий) может кому понадобится.
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
   public partial class Fon : Form
    {
        Form2 f2 = new Form2();
        Timer tmr = new Timer();
        public Fon()
        {
            
            f2.Hide();
            InitializeComponent();
        }
 
        private void Fon_Load(object sender, EventArgs e)
        {
            tmr.Interval = 500;
            tmr.Start();
            tmr.Tick +=new EventHandler(tmr_Tick);
           
        }
 
        void tmr_Tick(object sender, EventArgs e)
        {
            tmr.Stop();
            this.Hide();
            f2.Show();
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.02.2015, 10:51
Ответы с готовыми решениями:

Закрытие потока по истечении некоторого времени
У меня вопрос: как правильно использовать функцию ExitThread? Допустим у меня есть поток thread thrdTime(timeCnt); с функцией //Счёт...

Вычислить вторую точку по истечении времени на окружности
есть начальная точка, радиус, начальный угол, время и постоянная скорость. нужно вычислить вторую точку по истечении времени на...

Как спрятать форму, а потом показать по истечении времени
Здравствуйте! Как применять Show и Hide для формы, ну вот мне например нужно при создании формы скрыть ее, а потом по таймеру отобразить...

7
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
23.02.2015, 15:03
Цитата Сообщение от МисаМиса Посмотреть сообщение
Разобралась, метод угловатый, но работающий
а что происходит, когда закрывается вторая форма? Что-то мне подсказывает, что приложение останется висеть в процессах, но ничего не буде видно.
0
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 30
24.02.2015, 14:51  [ТС]
Когда вторая форма закрывается, то и приложение тоже.
Для этого прописать Application.Exit(); при закрытии второй формы.
Буду рада, если предложите более эффективный метод.
0
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
24.02.2015, 14:53
МисаМиса, ты посмотри в диспетчере задач, висит ли приложение в задачах или нет!
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
24.02.2015, 15:04
blackstar, после Application.Exit() в диспетчере его не будет
Цитата Сообщение от МисаМиса Посмотреть сообщение
Буду рада, если предложите более эффективный метод.
C#
1
2
3
4
5
6
7
        void tmr_Tick(object sender, EventArgs e)
        {
            tmr.Stop();
            this.Hide();
            f2.ShowDialog();
            this.Close();
        }
0
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 30
24.02.2015, 15:13  [ТС]
нет, не висит.

Добавлено через 4 минуты
при использовании showdialog и последующем this.close обе формы закрывались, думаю дело в том что вторая форма "привязана" к первой
как тут ответить определенному человеку?
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
24.02.2015, 15:40
Цитата Сообщение от МисаМиса Посмотреть сообщение
как тут ответить определенному человеку?
по нику кликнуть
Цитата Сообщение от МисаМиса Посмотреть сообщение
при использовании showdialog и последующем this.close обе формы закрывались
такого быть не может: при использовании f2.ShowDialog() выполнение первой формы останавливается, пока не будет закрыта вторая форма. А вот если написать так
C#
1
2
            f2.Show();
            this.Close();
тогда действительно закроются обе формы, потому что с первой формы откроется вторая, а первая при этом сразу продолжит свою работу.
0
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 30
24.02.2015, 16:02  [ТС]
nio, о значит ошиблась. Спасибо за ответы=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.02.2015, 16:02
Помогаю со студенческими работами здесь

Открыть вторую форму
Здравствуйте уважаемые форумчане. Помогите пожалуйста. Пользуюсь Qt Creator первый раз. Не получается открыть вторую форму при нажатии на...

Открыть вторую форму
Привет всем! У меня есть 2 формы одна с кнопкой, как сделать что при нажатие на эту копку открывалась другая форма?

Программно открыть вторую форму
Мне надо что бы я когда нажал на надпись(labellink) открылось второе окно

Открыть вторую форму с pictureBox
Здравствуйте. У меня есть две формы, нужно сделать так, чтобы при клике на кнопку на одной из этих форм выскакивала другая форма с...

Открыть вторую форму по таймеру
Нужно чтоб я указал в таймере например 10000милл/сек (10сек) И через это время он с Form1 перешёл на Form2


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru