J
JEF
Есть основное окно, на котором находиться кнопка, и другие контролы. При её нажатии обрабатывается достаточное большое количество данных и эти данные выводяться в новой форме(окне). Как сделать так, чтобы при обработке данных основное окно не зависало и продолжало взаимодействовать с пользователем?
Сделал попытку такого рода, но в этом случае второе окно открывается, и сразу исчезает.
Если использовать делегаты и методы BeginInvoke и EndInvoke. То второе окно открывается, но становится зависшей. То же самое если использовать System.Threading.Tasks.Task.Factory .StartNew()
Сделал попытку такого рода, но в этом случае второе окно открывается, и сразу исчезает.
Код:
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();
}
}