6

ロジックごとにボタンがたくさんあるflowlayoutpanelを使用しています。ウィンドウのサイズを変更すると問題が発生します。ウィンドウが小さくなると、すべてのボタンが水平に並んで表示されません。代わりに、ウィンドウが小さくなると、ボタンは次の行にドロップダウンします。誰かがこの問題を解決する方法について私を助けることができますか?ボタンを水平に並べたいだけです。ウィンドウが小さくなると、水平スクロールバーが表示されます。以下は私が持っているものです。

fLayoutPnl.Controls.Add(btn1);
// snipped adding buttons from 2 to 15
fLayoutPnl.Controls.Add(btn16);
fLayoutPnl.Dock = System.Windows.Forms.DockStyle.Top;
fLayoutPnl.Location = new System.Drawing.Point(0, 10);
fLayoutPnl.Name = "fLayoutPnl";
fLayoutPnl.Size = new System.Drawing.Size(1245, 30);
4

3 に答える 3

13

フローレイアウトパネルを上部にドッキングすると、親コントロールのサイズになります。したがって、水平スクロールが必要な場合は、フォーム(またはユーザーコントロール)のAutoScrollMinSizeを設定する必要があります。

それ以外の場合は、これを行うことができます:

this.AutoScroll = true;    
this.fLayoutPnl.Dock = System.Windows.Forms.DockStyle.None;
this.fLayoutPnl.AutoSize = true;
this.fLayoutPnl.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.fLayoutPnl.Location = new System.Drawing.Point(0, 10);
this.fLayoutPnl.Name = "fLayoutPnl";
this.fLayoutPnl.Size = new System.Drawing.Size(1245, 30);
于 2012-07-02T19:37:13.103 に答える
12
fLayoutPnl.WrapContents = false;

これで問題は解決します。スクロールバーが必要な場合はMinimumSize、パネルのプロパティを設定します。その後、スクロールバーが表示されます。

于 2016-01-20T04:05:48.817 に答える
3

垂直方向にスクロールしてフローレイアウトパネルのすべてのコンテンツを表示するには、AutoScrollプロパティをTrueに設定し、WrapContentsプロパティをTrueに設定することを忘れないでください。水平方向にスクロールしてコンテンツを表示する場合は、AutoScrollプロパティをTrueに設定し、WrapContentsプロパティをFalseに設定することを忘れないでください。

于 2019-01-08T03:29:50.733 に答える