左にドッキングされたパネルと、中央にドッキングされた別のパネルがあります。左側のパネルは幅 8 から始まり、295 までスライドして開きます。パネルの上に移動する必要があります。パネル全体を押し付けているのは何ですか?パネルの上に移動させる方法はありますか?
1355 次
2 に答える
1
左側のパネルをドッキングしたままにして、他のパネルをドッキングする代わりに、最初のクライアント領域に合わせてサイズを変更し、上下左右に固定します。次に、物事が正しい順序で行われることを確認するには、左側のパネルを右クリックして [最前面へ移動] を選択します。
デザイナーのコードは次のとおりです。
//
// panelLeft
//
this.panelLeft.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
this.panelLeft.Dock = System.Windows.Forms.DockStyle.Left;
this.panelLeft.Location = new System.Drawing.Point(0, 0);
this.panelLeft.Name = "panelLeft";
this.panelLeft.Size = new System.Drawing.Size(54, 456);
this.panelLeft.TabIndex = 0;
this.panelLeft.Click += new System.EventHandler(this.PanelLeftClick);
//
// panelOther
//
this.panelOther.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panelOther.BackColor = System.Drawing.Color.Maroon;
this.panelOther.Location = new System.Drawing.Point(60, 0);
this.panelOther.Name = "panelOther";
this.panelOther.Size = new System.Drawing.Size(477, 456);
this.panelOther.TabIndex = 1;
そして、管理を示すフォーム ハンドラー コード。(左側のパネルをクリックすると、大きくなったり小さくなったりします...)
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1() {InitializeComponent();}
private bool _isLeftPanelBig;
private void PanelLeftClick(object sender, EventArgs e)
{
panelLeft.Size = _isLeftPanelBig ? new Size(80, 300) : new Size(500, 300);
_isLeftPanelBig = !_isLeftPanelBig;
}
}
}
于 2011-10-05T15:44:14.120 に答える
0
私がやったことは、パネルが追加された後に、bringtofront 関数を移動することでした。パネルがウィンドウに追加される前に、自分がそれをしていることに気づきませんでした。
于 2011-10-19T13:22:45.953 に答える