У меня есть Windows Form в C # с Datagridview с большим номером. записей из базы данных и некоторых комбинированных списков, текстовых полей и кнопок.
Итак, я использовал другую форму с прогрессбаром и фоновым рабочим, чтобы загрузка данных из основной формы не раздражала конечного пользователя.
public partial class FirstForm : Form
{
MainForm mf;
public FirstForm()
{
InitializeComponent();
backgroundWorker1.RunWorkerAsync();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
mf = new MainForm(); //inside constructor,code of data loading in gridview
mf.Update();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (p1.Value < p1.Maximum) //p1 name for progressbar
p1.Value++;
else
{
timer1.Enabled = false;
this.Hide();
mf.Show();
}
}
}
, но когда отображается основная форма, она пуста, и через 2/3 секунды отображается сетка данных и другие элементы управления.
как это решить ..?
или предложить другие идеи для решения этой проблемы.