MENU

垂直コンテナに入れてもシームレスなform連結にしたい

初期設定のままだと、左記のように、縦に並べた1つ目のformと2つ目のformが完全に分離してしまうことがあります。

このままですと、1つ目のformは1つ目の高さの中でスクロールすることになり、2つ目のformは2つ目に割り当てられた高さの中でスクロールすることになります。

2つのformを同時スクロールさせながら比較検討したい、といった用途には良いのですが、今回は2つのformをシームレスに連結する設定を行います。

目次

構成

上下にヘッダーとフッターを持たせ、中央を水平コンテナで2分割。

右側のコンテナには垂直カラムを入れて、formを2つセットします。

ごくごく一般的な構成です。

設定方法

フォームを格納する垂直コンテナのスクロールをONにする

formを2つ格納するコンテナの垂直コンテナのスクロールを表示させます。

一番外側に出てくるスクロールバーですね。

数式バーで設定する場合は下記のように変更します。

LayoutOverflowY

LayoutOverflow.Hide

 ↓

LayoutOverflow.Scroll

R_Form01の設定

1つ目のformを設定します

高さ(伸縮可能)はオフにします

数式バーで設定するときのプロパティは下記の通り

FillPortions

0

オフ=0
オン=1

1つ目のformの一番下になっているデータカードを確認します(私の場合は「契約ID」です)

1つ目のformの高さに、データカードのYと高さを合体させたものを設定します。

契約ID_DataCard1.Y + 契約ID_DataCard1.Height

※データカード名は使用している名称に書き換えてください。

稀に1つ目のformの高さがうまく設定されないことがあるようです。
そんな時は設定を1度 Parent.Height に変更し、全表示された後に上記の高さ設定を行うとうまくいきました。ちょっと良く分からないけど;

R_Form02の設定

2つ目のformも同様に設定します

FillPortions0
Height<一番下のデータカード>.Y + <一番下のデータカード>.Height + 10

設定が終わると画像のように、1つ目のformが終わってから2つ目のformが表示されるようになります。

広告

目次