Когда я пытаюсь вызвать панель при нажатии кнопки, она не отображается.В свойствах visible установлено значение false.Я в первый раз вызываю панель, используя этот метод:
pnlSettings.Location = new Point(0, 0);
pnlSettings.Size = this.ClientSize;
pnlSettings.Visible = true;
pnlSettings.BringToFront();
Этот код работает при первом его использовании.Но когда я пытаюсь использовать тот же код в программе, он не работает полностью.
private void btnSettings_Click(object sender, EventArgs e)
{
int valueTemp;
valueTemp = _game.Settings.GetValue("MusicVolume", 2);
if (valueTemp < 0) valueTemp = 0;
if (valueTemp > 3) valueTemp = 3;
trackMusic.Value = valueTemp;
valueTemp = _game.Settings.GetValue("SoundFxVolume", 3);
if (valueTemp < 0) valueTemp = 0;
if (valueTemp > 3) valueTemp = 3;
trackSoundFx.Value = valueTemp;
pnlSettings.Location = new Point(0, 0);
pnlSettings.Size = this.ClientSize;
pnlSettings.Visible = true;
pnlSettings.BringToFront();
this.Menu = mnuTitleSettings;
}
Приведенный выше код работает так, как он должен.Однако следующий код просто останавливает игру и меняет меню.Панель настроек панели не отображается.
private void mnuMain_Settings_Click(object sender, EventArgs e)
{
int valueTemp;
Pause(true);
valueTemp = _game.Settings.GetValue("MusicVolume", 2);
if (valueTemp < 0) valueTemp = 0;
if (valueTemp > 3) valueTemp = 3;
trackMusic.Value = valueTemp;
valueTemp = _game.Settings.GetValue("SoundFxVolume", 3);
if (valueTemp < 0) valueTemp = 0;
if (valueTemp > 3) valueTemp = 3;
trackSoundFx.Value = valueTemp;
pnlSettings.Location = new Point(0, 0);
pnlSettings.Size = this.ClientSize;
pnlSettings.Visible = true;
pnlSettings.BringToFront();
this.Menu = mnuSettings;
}
Есть ли другой способ, которым я могу отобразить панель, и она все еще сохраняет и изменяет данные?Или я могу что-то добавить, чтобы оно отображалось?Я попытался добавить
pnlSettings.Show();
Все еще не повезло.
Заранее благодарю за любую помощь.