|
分類:[C#]
いつも教えていただきありがとうございます。
C#で開発しています。環境はVS2005 Windows XPです。
FlowLayoutPanel内に複数のラベルを配置し、それを並べ替えられるような仕組みを作りたいと考えています。 FlowLayoutPanelは複数配置し連動させたいです。
具体的には、 1.DBから読み込んだレコードを順にFlowLayoutPanelに矩形を書いて配置。(TopDown) 2.このとき、矩形のサイズは1種類ではなくデータにより高さが変動(幅は一定) 3.縦に小サイズ10個分の矩形が並んだら次の列へ移動。FlowLayoutPanelの高さは一定であり、大きなサイズの矩形が あれば10個に満たなくても高さに収まらなくなった時点で次の列へ移動。 4.Drag & Dropで任意の位置へ移動し並べ替えを行う。 5.このFlowLayoutPanelを縦に複数配置。 6.別のPanelにD&Dで移動した場合には、以降がスライドして配置再表示 7.並べ替えた順を保存
今のところ、1は置いておいて、単純にデザイナで矩形を書いたパネルを用意しD&Dで並べ替えできるところまではできた のですが、6の別のパネルに移動した場合にはそれ以降がスライドして再表示がうまくいきません。
例えば、縦に3つパネルがあった場合に、2つめがフルにデータが入っていたとき、1つめのパネルから2つめに移動は できるのですが、2つめのパネルから1つ(ないし複数)あふれてしまうデータを3つめのパネルに移動したいのです。
どうしても1つ10行程度で折り返した列を複数もつ、本を横にして積んだ本棚のようなイメージでレイアウトを配置したい のです。 ですので、上記のように複数レイアウトパネルの連動と考えたのですが、そこから先をどうして良いのか思いつきません。
なにかよいお知恵(ほかの手段でもかまいません)をお願いします。
|