web-dev-qa-db-ja.com

テーブルレイアウトパネルのスクロールバー

2つの列と多くの行を持つテーブルレイアウトパネルがある場合、フォームのサイズよりも大きくなることがあるので、それにスクロールバーを接続するにはどうすればよいですか。

ありがとうございました

25
tom

TableLayoutPanelScrollableControl の例です。したがって、そのAutoScrollプロパティをTrueに設定すると、コントロールの優先サイズが現在のサイズを超えると、コントロールが自動的にスクロールバーを作成します。これにより、最小限の手間で目的の効果が得られます。

手順

  1. MaximumSizeプロパティを適切な最大サイズに設定するか、TableLayoutPanelをフォームにドッキングできます。
  2. TableLayoutPanelのAutoScrollプロパティをtrueに設定します。



FYI:
Panel、ToolStrip、FlowLayoutPanel、SplitterPanel、TableLayoutPanel、TabPage、およびToolStripContentPanelはすべてScrollableControlクラスを継承するため、この回答はそれらにも適用されます。

51
Alex Essilfie

.Net Framework WinForms TableLayoutPanelにはAutoScrollに関する多くのバグがあります。このプロパティは使用しないことをお勧めします。 より良い解決策 があります。 。Net Core WinForms バージョンで修正されることを願っています。

2
23W

ショートカットの場合:

tableLayoutPanel1.MaximumSize = new Size(tableLayoutPanel1.Width, tableLayoutPanel1.Height);
tableLayoutPanel1.AutoScroll = true;
0
Shree Krishna