2つの列と多くの行を持つテーブルレイアウトパネルがある場合、フォームのサイズよりも大きくなることがあるので、それにスクロールバーを接続するにはどうすればよいですか。
ありがとうございました
TableLayoutPanel
は ScrollableControl
の例です。したがって、そのAutoScroll
プロパティをTrueに設定すると、コントロールの優先サイズが現在のサイズを超えると、コントロールが自動的にスクロールバーを作成します。これにより、最小限の手間で目的の効果が得られます。
手順
MaximumSize
プロパティを適切な最大サイズに設定するか、TableLayoutPanelをフォームにドッキングできます。AutoScroll
プロパティをtrueに設定します。
FYI:
Panel、ToolStrip、FlowLayoutPanel、SplitterPanel、TableLayoutPanel、TabPage、およびToolStripContentPanelはすべてScrollableControl
クラスを継承するため、この回答はそれらにも適用されます。
.Net Framework WinForms TableLayoutPanel
にはAutoScroll
に関する多くのバグがあります。このプロパティは使用しないことをお勧めします。 より良い解決策 があります。 。Net Core WinForms バージョンで修正されることを願っています。
ショートカットの場合:
tableLayoutPanel1.MaximumSize = new Size(tableLayoutPanel1.Width, tableLayoutPanel1.Height);
tableLayoutPanel1.AutoScroll = true;