2011-03-31 4 views
0

버튼을 눌렀을 때 패널을 가져 오려고하면 표시되지 않습니다. 속성에서 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(); 

아직도 운이 없다.

도움을 주셔서 감사합니다.

답변

1

컨트롤을 부모의 Control 컬렉션에 추가해야만 컨트롤이 표시됩니다.

다시 제거 할 때 Dispose() 메서드를 반드시 호출하십시오.

+0

감사합니다. 지금 시도하십시오. – user662973

+0

그게 효과가 있습니다! 정말 고맙습니다!!! – user662973

+0

그럼 왜'btnSettings_click'에서 같은 코드가 작동 했습니까? 'Controls'에 패널을 추가하지 않았습니다. – MusiGenesis

0

Controls 컬렉션에서 pnlSettings을 제거하는 코드가 있습니까? 예 :

+0

아니요. 패널을 제거하는 데 아무 것도 없습니다. – user662973

관련 문제