同じサイズで同じ位置の3つのパネルpnlPanel0、pnlPanel1、pnlPanel2があります。
「左」または「右」のボタンを使用して、各パネルの表示を変更する必要があります。
pnlPanel0(ラベルを含む)およびpnlPanel2(ボタンを含む)の場合-OK。
ただし、pnlPanel1(ListViewを含む)の場合:
curLayer == 1:pnlPanel1.Visible=trueの後; ListViewのあるパネルはまだ見えません。
ただし、pnlPanel1がpnlPanel0およびpnlPanel2と交差していない場合-OK。
なんで?
この場合、「前面に移動」/「背面に送信」に問題がある可能性がありますか?
別の安全で問題のない解決策はありますか?
if (curLayer == 0)
{
pnlPanel0.Visible = true;
pnlPanel1.Visible = false;
pnlPanel2.Visible = false;
}
else if (curLayer == 1)
{
pnlPanel0.Visible = false;
pnlPanel1.Visible = true;
pnlPanel2.Visible = false;
}
else if (curLayer == 2)
{
pnlPanel0.Visible = false;
pnlPanel1.Visible = false;
pnlPanel2.Visible = true;
}
MessageBox.Show(Convert.ToString(pnlPanel1.Visible)); // always false
.NET CF 3.5 / WinForms / VS 2008 / WinCE