1

FlowLayoutPanel と UserControl があります。

に複数のユーザーコントロールを追加しましたFlowLayoutPanel。それらを上部にドッキングしようとしているため、サイズを変更すると、FlowLayoutPanelそれに応じてユーザーコントロールのサイズ (幅) が変更されます。

4

1 に答える 1

3

FlowLayoutPanel 内には何もドッキングできません。単純に無視されます。

Microsoft チームによって明らかに投稿されたこちらの回答を確認してください。

彼らが言うには:

FlowLayoutPanel は、最大のコントロールに依存して、その中の列/行を効果的に定義します。以下のコードは、最初のコントロールのサイズを FLP の幅に設定して、目的と同様のレイアウトを実現します。

    private void flowLayoutPanel1_Layout(object sender, LayoutEventArgs e)
    {
        flowLayoutPanel1.Controls[0].Dock = DockStyle.None;
        for (int i = 1; i < flowLayoutPanel1.Controls.Count; i++)
        {
            flowLayoutPanel1.Controls[i].Dock = DockStyle.Top;
        }
        flowLayoutPanel1.Controls[0].Width = flowLayoutPanel1.DisplayRectangle.Width - flowLayoutPanel1.Controls[0].Margin.Horizontal;

    }

重要なのは、Layoutイベントを使用することです。

このソリューションは、ある程度まではうまくいきました。UserControls をAutoSizeオフにするか、均一なサイズにする必要があります。

私の場合AutoSize、FlowLayoutPanel の幅を埋めながら UserControl を垂直方向に拡大/縮小できるようにオンにしたかったのです。

別の解決策を見つけなければなりませんでした。しかし、上記はあなたの場合に役立つかもしれません。

于 2011-12-05T16:40:43.790 に答える