問題タブ [flowlayoutpanel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
10113 参照

resize - Cannnot resize Child Controls in a FlowLayoutPanel Control

Description I was trying to create a FlowLayoutPanel that can be extended, for instance in the horizontal way.

FlowLayoutPanel and its sub component anchor has been set to Top-Left-Right

FlowLayoutPanel direction has been set to TopDown.

-> When rezising the FlowLayoutPanel, its sub- components are not resized accordinally.

Step to reproduce

  1. Create a FlowLayoutPanel control on your form.

  2. Set the FlowDirection of the FlowLayoutPanel to TopDown.

  3. Create a Button controls, and place it in the FlowLayoutPanel control.

  4. Select the Button and the FlowLayoutPanel and set their Anchor to Top-Left-Right

  5. Try to Extend FlowLayoutPanel on the horizontal way.

-> FlowLayoutPanel is resized but not the Button

0 投票する
1 に答える
6586 参照

winforms - FlowLayoutPanel AutoSize の高さが機能しない

私は、フローレイアウトパネルのコントロールの上部に水平に配置された一連のコンボボックスと、コントロールの残りのすべてのスペースを占めるフローレイアウトパネルのすぐ下のデータグリッドビューで構成される UserControl に取り組んでいます。すべてのドロップダウンを簡単に非表示にする必要があるため、Orientation == Horizo​​ntal の SplitContainer、SplitContainer.Panel1 の flowlayoutpanel、SplitContainer.Panel2 の datagridview を使用します。

コントロール階層は次のとおりです。

flowlayoutpanel は水平方向に配置され、水平方向のスペースが限られているため、flowlayoutpanel の WrapContents プロパティは True であり、コントロールが狭すぎてすべてのドロップダウンが 1 つの行に収まらない場合に、ドロップダウンが次の行に折り返されます。

私が抱えている問題は、flowlayoutpanel がそのコンテンツを次の行に折り返すときに、Height プロパティがそれに応じて変化しないことです。flowlayoutpanel のラップされた行はクリップされ、それに応じて分割コンテナー パネルの高さが強制的に大きくならないでください。FlowLayoutPanel.Resize イベントを処理して、ラップされたコンテンツに対応するために SPlitContainer.SplitterDistance プロパティを拡大および縮小しようとしましたが、コンテンツがラップされても FlowLayoutPanel.Height プロパティは変更されません。私は困惑しています。FlowLayoutPanel は壊れていますか? コンテンツのラッピングに関係なく、FlowLayoutPanel.Height が常に同じままである場合、FlowLayoutPanel の親コンテナーのサイズを変更するにはどうすればよいですか?

ありがとう

0 投票する
2 に答える
6905 参照

.net - WinForms UserControl レイアウトのオートサイズの問題

少し前に、コンテナの上部にドッキングしたときにフローレイアウトパネルを適切に自動サイズ調整しようとすることについて、この質問を投稿しました。私が達成しようとしていたのは、フォームの上端にまたがる水平 (左から右) の flowlayoutpanel と、flowlayoutpanel の下の残りの利用可能なスペースを占める datagridview をセットアップすることでした。flowlayoutpanel の高さプロパティを本来の方法で自動サイズ調整するのに問題がありました。投稿された回答は、私が達成しようとしていたことに対して完全に機能しました。これは素晴らしかったです...

十分に放っておけないので、さらに一歩進んで、flowlayoutpanel を UserControl にラップしようとしています。ただし、これを行うと、flowlayoutpanel の高さが適切にサイズ変更されなくなることがわかりました。

美しく機能する最初のレイアウトを次に示します。

ここでは、UserControl にラップされた flowlayoutpanel を使用しています。

何らかの理由で、フォームのサイズが変更されたときに、flowlayoutpanel の高さが適切に変更されません。これはかなり簡単に再現できます。また、FlowLayoutPanel のコンテンツは、ComboBox だけでなく、何でもかまいません。

0 投票する
2 に答える
1671 参照

c# - FlowLayoutPanel にコントロールを追加するときの予期しないインデックスの変更

コード内に、トップダウンで配置された FlowLayoutPanel にコントロールを動的に追加する場所があります。コントロールを特定の順序で表示する必要があるため、毎回行っていることは、FlowLayoutPanel.Controls コレクションをクリアしてから、表示する順序で各子コントロールを追加することです。私のコードはこれを行います:

ほとんどの場合、これはうまく機能します。ただし、後に他のコントロールを追加するときに、コントロール コレクション内の位置を維持しない特定のコントロールが 1 つあります。たとえば、次のコード セグメントでは:

これは、movingControl が Controls に初めて追加されたときにのみ発生します。戻って、arrangement1 を呼び出してから、arrangement2 をもう一度呼び出すとします。コントロールは、次の順序で表示されます。

  • コントロール1
  • 移動制御
  • コントロール2
  • コントロール3

これは、Controls.Add のコードのバグのようです。コレクションの最後に常に追加されるとは限らないため、それまたは .Add の動作に関するドキュメントは不完全です。なぜこれが起こるのか、誰にも洞察がありますか。明らかな「修正」は、次のように呼び出すことです。

ただし、それは他の根本的な問題に対する非常に貧弱な解決策のようです。

助けてくれてありがとう!

編集: これらの各コントロールはカスタム ビュー クラスのメンバーであるため、Controls コレクションが Cleared された後も保持されることに注意してください。ただし、これらのコントロールは、順序付けられたコレクションには格納されません。これらは、このカスタム クラスの単なるメンバーです。上記のコードは、示されているように正しく機能します。ただし、私のGUIプログラムのコンテキストでは、説明されている誤った動作があります。何が役立つかがわかれば、さらにコードを投稿しますが、これらのピースに触れるコードはたくさんあります。これは、記述されたアクションのために実行されるすべてのコードです。

私が本当に探しているのは、考えられるシナリオによって、Controls.Add がコレクションの最後のインデックスではなくコントロールを挿入する原因となるものです。具体的には、Clear() の呼び出し後、Remove() 呼び出しなし。

0 投票する
2 に答える
3177 参照

c# - ドラッグ中にフローレイアウトパネルをスクロールするにはどうすればよいですか?

Windowsフォームアプリケーションでは、FlowLayoutPanelコントロールを使用して、アイテムのリストをユーザーに表示しています。ユーザーにコントロールをFlowLayoutPanel内の目的の位置にドラッグさせることで、FlowLayoutPanel内のアイテムの並べ替えを正常に実装できました。

しかし、ユーザーがパネルの境界を越えてアイテムをドラッグしたときにFlowLayoutPanelをスクロールする方法がわかりません。ListViewコントロールの例を見てきましたが、これらの手法はFlowLayoutPanelには適用されないようです。

誰かがこの機能を実装する方法について、できればc#でサンプルコードを提供できますか?

必要に応じて、現在の並べ替え方法のコード例を提供できます。

ありがとう!

0 投票する
1 に答える
2353 参照

winforms - ネストされたフローレイアウトパネルがラッピングされていない

プロパティを持つFlowLayoutPanelがあります。

  • ドック=塗りつぶし(ユーザーコントロールで)
  • FlowDirection = TopDown
  • WrapContents = false

パネルに追加された各アイテムが下部に追加されるように、このようにします。

このパネルに追加する項目は、それ自体にFlowLayoutPanelsがあるユーザーコントロールですが、標準の動作(LeftToRight、WrapContents = true)があります。私が抱えている問題は、内部ユーザーコントロールのFlowLayoutPanelが外部コントロールを満たすようにサイズ変更されていないことですが、これらのコントロールで自動サイズ設定をtrueに設定すると、パネルはその内容をラップしません-これは明らかに既知の問題です。

私がやろうとしていることを視覚化するのに役立つ場合は、次のようになります。

0 投票する
2 に答える
29549 参照

wpf - FlowLayoutPanelに相当するWPFとは何ですか?

私はWPFアプリケーション(「noteyourlife」と呼ばれる1つのノートクローン)に取り組んでいます。このアプリケーションでは、タグをエントリに動的に割り当てることができます(最近のほとんどすべてのWeb 2.0アプリと同じです)。このために、WindowsフォームのプロトタイプにFlowLayoutPanelがあり、非常にうまく機能しました。十分なスペースがない場合はタグを次の行にフロートさせ、必要に応じてスクロールバーを取得したいと思います。

これはWPFでどのように達成できますか?遊んだ

ただし、必要に応じて次の行の要素は移動しません。

0 投票する
1 に答える
4352 参照

.net - フローレイアウト パネルと子コントロールの自動サイズ変更が機能しない

winform (C# .NET) で非常に単純な自動サイズ変更レイアウトを取得しようとしています。TableLayoutPanels と FlowLayoutPanels を試しましたが、何も機能しません。

実行時に作成される他のユーザーコントロールのコンテナーであるユーザーコントロールがあります-子コントロールを垂直にリストしたいので、それを StackPanel と呼びました。FlowLayoutPanel、TableLayoutPanel、および Panel (各コントロールを上部にドッキング) を使用してこれを試しました。

子ユーザーコントロールは、ラベルと任意の数のラジオボタン (またはその他の標準コントロール - それは問題ではありません) で構成されます。

子コントロールが作成されると、ラベル テキストが設定され (長い場合は新しい行に折り返す必要があります)、ラジオ ボタンが追加されます。

Resize イベントを使用したドッキング/自動サイズ設定または手動サイズ設定の組み合わせはないようです。これにより、クリッピングせずにすべてを表示し、フォームでサイズを変更できます。

ありがとう!

0 投票する
5 に答える
9196 参照

c# - FlowLayoutPanelのスクロール中に、背景が歪む+ちらつき

背景のあるWindowsフォームアプリケーションがあります。その中に、背景が透明なflowlayoutpanelがあります。スクロールすると、次のようになります。

ここに画像の説明を入力してください

ちらつきも見られます。私はすべてのダブルバッファービジネスを試しましたが、うまくいきません。

助言がありますか?

0 投票する
4 に答える
17107 参照

c# - 内部にフローレイアウトパネルがあり、autosize=trueのグループボックスは空のように縮小します

フローレイアウトパネルを保持するグループボックスがあり、フローレイアウトパネルは一連のコントロールを保持します。フローレイアウトパネルを親とドッキングするように設定しました。パネルにいくつのコントロールがあるかわからないので、グループボックスの自動サイズをtrueに設定し、自動サイズモードを拡大および縮小に設定しました。これを行うと、グループボックスは空のように縮小します。グループボックスを削除できないように、キャプションが必要です。なぜこれが起こっているのか誰もが知っていますか?