버튼을 눌렀을 때 패널을 가져 오려고하면 표시되지 않습니다. 속성에서 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();
아직도 운이 없다.
도움을 주셔서 감사합니다.
감사합니다. 지금 시도하십시오. – user662973
그게 효과가 있습니다! 정말 고맙습니다!!! – user662973
그럼 왜'btnSettings_click'에서 같은 코드가 작동 했습니까? 'Controls'에 패널을 추가하지 않았습니다. – MusiGenesis