6

フォームをスクロール可能にするために尊重しなければならない規則は何ですか...

プロパティAutoScrollを true に設定するだけです。while Auto Scrollis trueAutoSizeを true/false に設定しようとしましたが、どれも機能しませんでした...また、Panel を配置しようとし、そこにすべてのコンポーネントを追加しました...まだ何もありません...

使用V or HScrollBarすると役立つかもしれませんが、フォームとリンクする方法が本当にわかりません...

form.AutoScroll = true;
formMainLayout.AutoScroll = true;
rootPanel.AutoScroll = true;
4

5 に答える 5

6

コンテンツはスクロールを制御します。スクロールバーは、必要でない限り表示されません。通常、それらを常に表示し、必要になるまで単に無効にするように設定できるプロパティがあります。

すでにわかっているように、プロパティAutoScrollは でなければなりません。trueただし、スクロール可能なコントロールのコンテンツは、親コントロールにスクロールバーを表示させる必要があります。この部分は、コントロールが親にどのように埋め込まれているか次第です。

次の 2 つの実験を試してください。

  1. フォームに を配置し、PanelにドッキングしますFillAutoScrollPanelのプロパティを に設定しますtrue。そのパネルに を配置し、同様TextBoxにドッキングするように設定しFillます。MultiLineにも設定true。アプリケーションを実行すると、両方のサイズが単に利用可能なスペースを使用していることに気付くでしょう... もも、それらが占有するスペースよりも大きくPanelならないため、スクロールは発生しません。TextBox

  2. #1 と同じ手順を実行しますが、今回は をドッキングしませんTextBoxPanel代わりに、大きなサイズに設定します。目に見える量よりも大きくなることがわかっているものです。アプリケーションを実行すると、スクロールが発生するはずPanelです。

この小さなテストが、フォームのスクロールを制御しているものを示すのに役立つことを願っています。

于 2013-07-22T14:45:12.937 に答える
1

このAutoScrollプロパティは正常に動作するはずですが、正しく使用されていない可能性があります。バーは必要な場合にのみ表示されます。例: の最小 YFormは 0 で、その中のコントロールの 1 つの最小 Y (a TextBox) は -20 です。

フォームの境界内にコントロールがあるかどうかに関係なく、スクロール バーを含めたい場合は、それを行うこともできます。垂直スクロール バーのサンプル コード ( MSDN から):

// Create and initialize a VScrollBar.
VScrollBar vScrollBar1 = new VScrollBar();

// Dock the scroll bar to the right side of the form.
vScrollBar1.Dock = DockStyle.Right;

// Add the scroll bar to the form.
Controls.Add(vScrollBar1);
于 2013-07-22T14:27:50.123 に答える
0

親パネルのプロパティを設定する必要があります。

  1. ドック = 塗りつぶし
  2. アンカー = 上、左
  3. オートスクロール = true

それでおしまい。幸運を!^^

于 2021-11-28T07:02:58.737 に答える