Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2011, 20:17   #1
JEF
Новичок
Джуниор
 
Регистрация: 30.04.2009
Сообщений: 2
По умолчанию Открытие окна в новом потоке.

Есть основное окно, на котором находиться кнопка, и другие контролы. При её нажатии обрабатывается достаточное большое количество данных и эти данные выводяться в новой форме(окне). Как сделать так, чтобы при обработке данных основное окно не зависало и продолжало взаимодействовать с пользователем?

Сделал попытку такого рода, но в этом случае второе окно открывается, и сразу исчезает.
Код:
public partial class Main : Form
{
        private Thread allFuncCalc;
        public Main(string[] args)
        {
                //...много кода
                allFuncCalc = new Thread(AllFuncCalc) {Name = "Function from textbox calculation"};
        }
        private void ViewFunctionButtonClick(object sender, EventArgs e)
        {
                allFuncCalc.Start();
        }
        private void AllFuncCalc()
        {
                Distribution.RandomQuantity randomQuantityToView = new Distribution.RandomQuantity(/*Параметры конструктора*/)
                //......Много кода
                View view = new View(randomQuantityToView) {Text = randomQuantityToView.DistributionType};
                view.Show();
        }
}
Если использовать делегаты и методы BeginInvoke и EndInvoke. То второе окно открывается, но становится зависшей. То же самое если использовать System.Threading.Tasks.Task.Factory .StartNew()

Последний раз редактировалось JEF; 17.09.2011 в 20:34.
JEF вне форума Ответить с цитированием
Старый 18.10.2011, 08:35   #2
zabej
Пользователь
 
Регистрация: 17.05.2011
Сообщений: 13
По умолчанию

view.ShowDialog();
zabej вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CppWEbBrowser. Запрет на открытие нового окна, и открытие его в том же окне Askar_g Общие вопросы C/C++ 4 25.06.2011 20:00
Открытие фото при клике поверх контента в новом окне ponchikpk JavaScript, Ajax 2 16.03.2011 14:26
Открытие в новом окне Kapitann JavaScript, Ajax 2 07.08.2010 13:43
Открытие ссылки в новом окне vitalik007 HTML и CSS 3 24.10.2007 17:07
Открытие ссылки в новом окне илья too HTML и CSS 1 14.07.2007 13:31