У меня есть форма frmTest1 с разделенным контейнером с двумя панелями. Панель 2 должна загружать множество форм по одной за раз. Он отлично работает для первой формы, но вторая форма не может загрузить третью форму в панель 2 из frmTest1.
Вот раздетый код frmTest 1:
namespace Project1
{
public partial class frmMain3 : Form
{
public frmMain3()
{
InitializeComponent();
}
private void btnShowTest1_Click(object sender, EventArgs e)
{
showScreen(new frmTest1());
}
public void showScreen(Control ctl)
{
while (splitContainer1.Panel2.Controls.Count > 0)
splitContainer1.Panel2.Controls[0].Dispose();
if (ctl is Form)
{
var frm = ctl as Form;
frm.TopLevel = false;
frm.FormBorderStyle = FormBorderStyle.None;
frm.Visible = true;
}
ctl.Dock = DockStyle.Fill;
splitContainer1.Panel2.Controls.Add(ctl);
}
}
}
Код второй формы ниже:
namespace Project1
{
public partial class frmTest1 : Form
{
public frmTest1()
{
InitializeComponent();
}
private void btnShowTest4_Click(object sender, EventArgs e)
{
frmMain3 main = new frmMain3();
main.showScreen(new frmTest4()); //Nothing shows
}
}
}
Из проведенного мною исследования кажется, что решение состоит в том, чтобы использовать пользовательский контроль, но я никогда не использовал его раньше, я борюсь. Может кто-нибудь, пожалуйста, покажите мне, как решить эту проблему?