Windowsアプリケーションでパネルにスクロールバーを追加する方法

C#のWindowsフォームアプリケーションでPanelにスクロールバーを追加するには、以下の手順に従ってください。

  1. フォームデザイナで、Panel コントロール(例: Panel1)をフォームにドラッグ アンド ドロップします。
  2. PanelのAutoScrollプロパティをTrueに設定し、自動スクロールを利用可能にする。
  3. パネルに、パネルの可視範囲を超えるコントロールを追加できます。
  4. スクロールバーをパネルに追加したい場合は、垂直スクロール用には VScrollBar コントロール、水平スクロール用には HScrollBar コントロールをパネルに追加します。
  5. スクロールバーのDockプロパティをRight(垂直スクロールバーの場合)またはBottom(水平スクロールバーの場合)に設定し、パネルの片側にドッキングします。
  6. スクロールバーのMinimumとMaximumのプロパティを適切な値に設定して、スクロールバーの範囲を指定します。
  7. スクロールバーの Scroll イベントを処理して、スクロールバーをスクロールしたときにパネルのスクロール位置を更新します。

以下にスクロールバーをパネルに追加する方法を示すサンプル コードを示します。

// 添加一个Panel控件到窗体上,并设置AutoScroll属性为True
Panel panel1 = new Panel();
panel1.AutoScroll = true;
this.Controls.Add(panel1);
// 添加一些超出Panel可见范围的控件到Panel中
for (int i = 0; i < 10; i++)
{
Button button = new Button();
button.Text = "Button " + (i + 1);
button.Location = new Point(10, i * 30);
panel1.Controls.Add(button);
}
// 添加垂直滚动条到Panel的右侧
VScrollBar vScrollBar = new VScrollBar();
vScrollBar.Dock = DockStyle.Right;
vScrollBar.Minimum = 0;
vScrollBar.Maximum = panel1.Controls.Count * 30;
vScrollBar.Scroll += (sender, e) =>
{
panel1.VerticalScroll.Value = vScrollBar.Value;
};
this.Controls.Add(vScrollBar);
// 处理Panel的Scroll事件,以便在滚动条滚动时更新垂直滚动条的值
panel1.Scroll += (sender, e) =>
{
vScrollBar.Value = panel1.VerticalScroll.Value;
};

パネル内のコントロールパネルの表示範囲を超えた場合、自動スクロールが有効になり、必要に応じてスクロールバーが自動で表示されますのでご注意ください。

コメントを残す 0

Your email address will not be published. Required fields are marked *