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

Момент времени открытия формы

27.04.2014, 08:09. Показов 1495. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
namespace WindowsFormsApplication1
{
    public partial class Launcher : Form       {
        public Launcher()  //точка входа из Main
        {   
            InitializeComponent();
           // <-----почему форма появляется на экране не в этот момент времени?
            //….  тут разный код, в т.ч. System.Threading.Thread.Sleep(8000);
        }  // <---- а появляется именно в этот момент, т.е. ПО ОКОНЧАНИИ кода этого модуля? 
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.04.2014, 08:09
Ответы с готовыми решениями:

Отображение формы в случайный момент времени
Добрый день, Подскажите, как создать форму, которая бы появлялась через случайный промежуток времени, скрывалась в трей по нажатию...

Как убрать кнопки в нужный момент времени?
Здравствуйте, подскажите пожалуйста, у меня есть 2 листбокса. Я нажимаю на кнопку 1 и выделенное мной имя из 1 листбокса перемещается во 2...

Запоминание открытия формы
Необходимо реализовать следующую функцию: Есть три формы. form1, form2, form3 form3 можно вызвать из form1 и form2 Когда...

12
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
27.04.2014, 08:45
dim3740, Thread.Sleep(8000) остановит поток отображения формы и вы ее не увидите до истечения 8 секунд.

Добавлено через 52 секунды
Да и форма отобразиться только когда конструктор дойдет до конца, то есть как вы и указали.
0
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 226
27.04.2014, 08:58  [ТС]
таймер я привел для наглядности.... В любом случае, почему то форма появляется в конце кода.

Добавлено через 11 минут
C#
1
2
3
4
5
6
7
8
9
public Launcher()  
        {
            InitializeComponent();
            
            Form1 Fr1 = new Form1();
            Fr1.Show();   //  на Fr1 лейбл  "Ждите...." . Форма Fr1 появляется сразу, но буквы лейбла - только в конце конструктора Launcher. Как сделать иначе?
            
            // тут код... который выполняется долго
            Fr1.Close();
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
27.04.2014, 09:06
Пока конструктор не отработал форма не появляется, что не понятно-то?
0
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 226
27.04.2014, 09:35  [ТС]
Посмотрите, пожалуйста, мой код.... как его подправить, чтоб решить задачу? Нужен аналог MesageBox на несколько секунд....

Добавлено через 22 минуты
Т.е. почему ТЕКСТ лейбла сразу не виден? Я пробовал его задавать в обработчике Fr1 и путем присвоения переменной, и интерактивно... результат один и тот же - сначала белая полоска, и только после открытия формы Launcher - на Fr1 появляется текст. Хотя, если там разместить кнопку с текстом, то он виден сразу. Что я делаю неправильно?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
27.04.2014, 09:43
А где код?
Объясни для начала, что ты хочешь получить.
0
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 226
27.04.2014, 11:38  [ТС]
Help! В идеале мне надо выводить mesageBox на несколько секунд с текстом "Ждите...". Я его имитирую новой формой. На ней размещаю элемент lable. В свойстах текст лейбла пишу Ждите. Форма2 открывается, но текст лейбла сразу не виден. Он появляется только в конце работы. Спашивайте если опять непонятно обяснил...
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
27.04.2014, 11:57
Про порядок событий формы почитайте тут. Конструктор класса с отображением формы никак не связан.
0
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 226
27.04.2014, 12:50  [ТС]
Спасибо, но эта ссылка не для новичков... не могли бы привести фрагмент решения? Я запускаю из main первую форму и все лейблы на ней отображаются. А из первой открываю вторую и в ней текста лейблов нет. В чем отличие? Run и Show?

Добавлено через 31 минуту
C#
1
2
3
4
5
6
7
8
9
public Form1()
        {
            InitializeComponent(); 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = "Ждите...";
        }
Так компилятор не ругается, но опять текст не выводится. Получается менять заголовок формы 2 в момент открытия, а текст в лейбл не выводится. Т.е. это событие что-ли? И как его выполнить? Ну да, я совсем новичок, но и все когда-то прошли через это.... Помогите, пожалуйста!
Кажется это надо связать с EventArgs e?
0
1 / 1 / 0
Регистрация: 06.12.2013
Сообщений: 76
27.04.2014, 13:05
вам нужно просто всего навсего сделать из 2 формы то что вы хотите( тупа сконструировать вместо 2 формы окно ожидания, сами пробуйте ее отредактировать в свойствах предав прозрачность, скрытость, и выводить что именно на передний план) по закрытию 2 формы соответственно появится 1 форма. по другому думаю не как

Добавлено через 11 минут
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
30
31
32
33
34
35
36
37
38
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Diagnostics;
 
namespace JF_CF_SAPPER // ваше название проекта
{
    static class Program
    {
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main()
        {
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
 
                Form2 first = new Form2();
                DateTime end = DateTime.Now + TimeSpan.FromSeconds(5);// через 5 секунд открывается 1 форма и закрывается 2
                first.Show();
                while (end > DateTime.Now)
                {
                    Application.DoEvents();
                }
                first.Close();
                first.Dispose();
                Application.Run(new Form1());
            }
        }
 
 
        
 
 
    }
}
0
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 226
27.04.2014, 13:15  [ТС]
Spawn, я правильно понимаю, что давая ссылку, Вы согласны, что я ошибаюсь в принципе, а не просто, скажем, забыл вывести текст на передний план? Я ведь не понимаю всех процессов пока (всего 6 постов), и прошу направлять меня именно по пути явной ошибки. Спасибо.
fcnfgtyrjd3004, гугля на тему "окно ожидания" выдает немного.... примерно по моей теме. Четких ответ пока не нашел, типа ReportViewer.... Я бы отступился, но вопрос "видимости элементов" на форме нужен вне контекста окна "Ждите...". Буду ждать советов.

Добавлено через 5 минут
fcnfgtyrjd3004,
Цитата Сообщение от fcnfgtyrjd3004 Посмотреть сообщение
C#
1
2
3
Form2 first = new Form2();
DateTime end = DateTime.Now + TimeSpan.FromSeconds(5);// через 5 секунд открывается 1 форма и закрывается 2
first.Show();
нужно чтоб форма2 отображалась в ТЕЧЕНИЕ работы формы1 (там идет загрузка данных и т.п.).
0
1 / 1 / 0
Регистрация: 06.12.2013
Сообщений: 76
27.04.2014, 13:20
у меня программа есть но она грузит из интернета данные, тока у меня все это показано в виде прогресбара на той же форме

C#
1
2
3
4
5
6
7
8
9
10
 private void Downloader_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
 
            progress_download.Visible = true;
            this.Invoke(new EventHandler(delegate
            {
                label1.Text = String.Format("DownLoad: {0} Кб / {1} Кб", e.BytesReceived / 1024, e.TotalBytesToReceive / 1024);
                progress_download.Value = e.ProgressPercentage;
            }));
        }
с 2 формами можно все реализовать зря вы не приняли это во внимание
1
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 226
27.04.2014, 13:34  [ТС]
Цитата Сообщение от fcnfgtyrjd3004 Посмотреть сообщение
у меня все это показано в виде прогресбара на той же форме
О! не уходи плз! Это великолепно! Пытаюсь разобраться.... Итак: добавил элемент управления ProgresBar1... Мммм... А зачем тогда label1.... не понятно пока(((.. Подтолкни, а?
По 2-м формам я пока тебе не понял. Подумаю. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.04.2014, 13:34
Помогаю со студенческими работами здесь

Повторение открытия формы
Здравствуйте У меня 2 формы. На первом окне кнопка с кодом: private void button1_Click(object sender, EventArgs e) { ...

Запретить открытия дважды одной формы
Нужно как то сделать так что бы ни форму ни саму программу нельзя было запускать если она уже запущена. В самой программе есть несколько...

Как определить с высокой точностью момент времени максимального уровня шума
Допустим есть wav-запись, в котором максимальный уровень шума происходит чере 3.868 секунды. Как это можно определить используя шарп?

Метод лагранжа. Движение тела. В какой момент времени тело остановится
Скорость движения тела задана табличной функцией t 0 0.3 0.6 0.9 1.2 v(t) 2 1.91 1.65 1.24 0.73 В какой момент времени тело...

Блок открытия дочерней формы и сокрытие родительской
1. Есть две формы. Так как открываю дочернюю: Form2 newForm = new Form2(); newForm.Show(); Проблема в том, что если я попытаюсь...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru