powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Новая форма в потоке
4 сообщений из 4, страница 1 из 1
Новая форма в потоке
    #38045747
Фотография defragmentator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробую работать с потоками.
Создаю фоновый поток в пуле.
Как-то так:

Код: 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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
using System;
using System.Threading;
using System.Windows.Forms;

namespace Thread_Test1
{
    partial class Form1
    {
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        /// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Код, автоматически созданный конструктором форм Windows

        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.Text = "Form1";
            // Queue the task (помещение задачи в очередь).
            ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadProc));
        }

        // This thread procedure performs the task.
        static void ThreadProc(Object stateInfo)
        {
            // No state object was passed to QueueUserWorkItem, so 
            // stateInfo is null.

            Form1 MyForm;
            
            MyForm=new Form1();
            MessageBox.Show("Hello from the thread pool.");
        }


        #endregion
    }
}



При запуске циклически начинает появлятся MessageBox.Show("Hello from the thread pool."), а вот новая форма не появляется.
В чём причина?
...
Рейтинг: 0 / 0
Новая форма в потоке
    #38045771
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defragmentator,
так глянул поверхостно...
а где вы форму на показ отправляете ну типа show()?
...
Рейтинг: 0 / 0
Новая форма в потоке
    #38045773
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defragmentatorПробую работать с потоками.
Создаю фоновый поток в пуле.
Как-то так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        // This thread procedure performs the task.
        static void ThreadProc(Object stateInfo)
        {
            // No state object was passed to QueueUserWorkItem, so 
            // stateInfo is null.

            Form1 MyForm;
            
            MyForm=new Form1();
            MessageBox.Show("Hello from the thread pool.");
        }
}



При запуске циклически начинает появлятся MessageBox.Show("Hello from the thread pool."), а вот новая форма не появляется.
В чём причина?А с чего бы ей вдруг появляться?!
Вы же ей не сказали "Формочка, покажись!" ;)
Например, вот так: MyForm.Show() или MyForm.ShowDialog()...
...
Рейтинг: 0 / 0
Новая форма в потоке
    #38045791
Фотография defragmentator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, какая она хитрая:)
Теперь всё супер!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Новая форма в потоке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]