У меня есть 3 формы.Имена: MainScreen, LoadingForm, MoviesInfo.Когда я нажимаю кнопку на главном экране, он выполняет некоторые работы, и загружающая форма загружается внутри панели главного экрана. Я хочу сделать, когда работы завершены, показать форму MoviesInfo на той же панели на главном экране или на панели загрузки.,Как я могу это сделать?Я добавляю формы на панель вот так.
public static void AddFormToPanel(Form frm, Panel panel)
{
frm.TopLevel = false;
panel.Controls.Add(frm);
frm.Show();
frm.Dock = DockStyle.Fill;
frm.BringToFront();
}
//Loading Form
public partial class LoadingForm : Form
{
public Action Worker { get; set; }
public LoadingForm(Action worker)
{
InitializeComponent();
if (worker == null)
{
throw new ArgumentNullException();
}
Worker = worker;
}
private void btnCancel_Click_1(object sender, EventArgs e)
{
this.Close();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Task.Factory.StartNew(Worker)
.ContinueWith(t => { this.Close(); }, TaskScheduler.FromCurrentSynchronizationContext());
}
}
Форма MainScreen
private void MovieOnButtonClick(object sender, EventArgs eventArgs)
{
using (loading = new LoadingForm(getMovieData))
{
loading.ShowDialog(this);
}
AddFormToPanel(moviesInfo, panelMain);
}
Я не хочу загружать эту строку. ShowDialog (this);Я хочу добавить форму загрузки внутри панели.