Пишу на WF меню для пятнашек. В данном switch хочу переключаться между панелями. MainPanel прячется как и полагается, но вот SettingsPanel отображаться не хочет.
Если открыть скрин во весь экран можно увидеть как отладчик прошел строку с Enabled, а значение переменной не изменилось.
void ChangeState() //Этот метод вызывается событием onChangeState
{
prevPanel = currentPanel;
prevPanel.Hide();
prevPanel.Enabled = false;
switch (state)
{
case MenuState.Main:
MainPanel.Enabled = true;
MainPanel.Show();
currentPanel = MainPanel;
break;
case MenuState.Settings:
SettingsPanel.Show();
SettingsPanel.Enabled = true;
currentPanel = SettingsPanel;
break;
default:
break;
}
}
public Form1() //Констркутор формы (скрывает все панели кроме основной (все панели содержатся в массиве), задает текущую панель и добавляет в событие метод ChangeState)
{
InitializeComponent();
for (int i = 0; i < panels.Length; i++)
{
if (panels[i].Name != "MainPanel")
{
panels[i].Enabled = false;
panels[i].Hide();
}
}
currentPanel = MainPanel;
onChangeState += ChangeState;
}
private void Settings_Click(object sender, EventArgs e) //обработчик нажатия на Settings
{
prevState = state;
state = MenuState.Settings;
onChangeState();
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости