3

私はCompactFrameworkを初めて使用し、 .NetGoogleで答えを見つけることができませんでした。Gasp!はい、それは本当ですが、それがStackOverflowがここにある理由の一部ですよね?

画面よりも長いフォームがあるので、期待どおりに垂直スクロールバーが表示されます。ただし、これにより、水平スクロールバーも強制的に表示されるように見えます。(右にスクロールすると、空白以外は何も表示されません...スクロールバーのサイズ程度です。)

これは避けられない「機能」ですか?この分野での経験はありますか?

4

3 に答える 3

2

コントロールで Anchor 属性を使用する必要があります。
コントロールを上、左、右に固定します。

フォームに垂直スクロールバーが必要な場合、水平スクロールバーを使用する代わりにコントロールのサイズが変更されます。

また、すべてのコントロールをパネルに配置する方が簡単な場合があります。Panel を、フォームに追加する最初のコントロールにします。
パネルをフォームと同じ大きさにするか、より多くのスペースが必要な場合はフォームの下部よりも低くします。
アンカーを上、左、右に設定します。自動スクロールを true に設定します。フォームで自動スクロールをオフにします。

コントロールをパネルに配置します。各コントロールにアンカー ポイントを設定する必要があります。そうしないと、Panel コントロールが水平スクロールバーを使用し、演習全体が無意味になります。
これは、SIP (Soft Input Panel) を使用する必要がある場合に適した手法です。これは、SIP.Enabled 属性が変更されたときに Panels Height 属性が変更され、一部のコントロールが SIP によって非表示になるのを防ぐことができるためです。あなたが見ることができないテキストボックス内のテキスト。
パネルは、必要に応じてスクロールバーを提供します。

後でSIPが必要になった場合、後で追加すると面倒になる可能性があるため、すべてのコントロールをフォームのパネルに配置することをお勧めします。

于 2008-10-26T02:06:13.130 に答える
2

コントロールをパネルまたは同等のもの内に配置してから、パネルの幅を垂直スクロールバーのサイズだけ縮小します。つまり、垂直スクロールバーが表示されたときに、垂直スクロールバーの失われた幅を補うために水平スクロールバーが必要なくなります。

于 2008-08-28T19:23:12.753 に答える
0

はい - 私はその経験があります - 残念ながら、それはあなたのものと何ら変わりはありませんでした。私は通常、フォームのスクロールを避け、.Net CF で可能な限りページングを使用しました。これがあなたのためのオプションであるなら、私はそれをお勧めします.

スクロールバーの問題は、(デザイン時の設定に関係なく)利用可能な画面の幅に固定されているフォームサイズに関係しているため、垂直スクロールバーの導入により(不要な)完全な幅のフォルム。

于 2008-08-28T06:27:24.927 に答える