Есть пример вопроса на видео (см. ниже).
Подскажите, как очистить panelMain
в главной форме FormMain
при нажатии на кнопку в FormSetting
.
Проблема в том, что стирать панель можно только через кнопки в главной форме.
Код который стирает панель через кнопки внутри главной формы:
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private Form f2;
private void button1_Click(object sender, EventArgs e)
{
panelMain.Controls.Clear();
}
private void button2_Click(object sender, EventArgs e)
{
panelMain.Controls.Clear();
if (f2 == null)
{
f2 = new FormSetting();
f2.TopLevel = false;
f2.Dock = DockStyle.Fill;
}
panelMain.Controls.Add(f2);
f2.Show();
}
}
Код со второй формы FormSetting
, который не работает при сворачивании приложения. Появляется ошибка: "Ссылка на объект не указывает на экземпляр объекта."
в строках Application.OpenForms
:
private Form f1;
private void button1_Click(object sender, EventArgs e)
{
Application.OpenForms["FormMain"].Controls["panelMain"].Controls.Clear();
if (f1 == null)
{
f1 = new FormGuid();
f1.TopLevel = false;
f1.Dock = DockStyle.Fill;
}
Application.OpenForms["FormMain"].Controls["panelMain"].Controls.Add(f1);
f1.Show();
}
Видео пример: https://www.youtube.com/watch?v=y99ENUpMlOc
Можно в метод открытия формы добавить:
f2.Tag = this;
То есть, получается следующее:
private void button2_Click(object sender, EventArgs e)
{
panelMain.Controls.Clear();
if (f2 == null)
{
f2 = new FormSetting();
f2.TopLevel = false;
f2.Tag = this;
f2.Dock = DockStyle.Fill;
}
panelMain.Controls.Add(f2);
f2.Show();
}
А из формы FormSetting
можно обращаться к главной форме как (Tag as FormMain)
:
private Form f1;
private void button1_Click(object sender, EventArgs e)
{
(Tag as FormMain).panelMain.Controls.Clear();
if (f1 == null)
{
f1 = new FormGuid();
f1.TopLevel = false;
f1.Dock = DockStyle.Fill;
}
(Tag as FormMain).panelMain.Controls.Add(f1);
f1.Show();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доброй ночи - подскажите возможно ли такое реализовать и если можно в какую сторону копать
На windows 7 не всегда меняются обои, есть ли этому решение?
Заметил, что часто используют эти методы в связке: