MESCIUS MultiRow for Windows Forms 12.0J
分割線とビューポート

分割線を使用すると、グリッドを任意の画面数に分割し、それぞれの画面(ビューポート)でスクロールできます。分割線で分割した画面はユーザーが自由にサイズを調整できます。ユーザーの操作によらず画面の一部を固定するには「非スクロール領域」を参照してください。
分割線の表示/非表示
既定の設定では、ユーザーはスクロールバーの端にある分割線をドラッグして分割線を追加または削除できます。この操作を無効にするには、GcMultiRow.SplitModeプロパティを使用して分割線を非表示にします。

GcMultiRow1.SplitMode = GrapeCity.Win.MultiRow.SplitMode.None
gcMultiRow1.SplitMode = GrapeCity.Win.MultiRow.SplitMode.None;
分割線の位置の取得
GcMultiRow.GetHorizontalSplitLocationsメソッドおよびGcMultiRow.GetVerticalSplitLocationsメソッドを使用すると、分割線の位置を取得できます。

Dim hsLocations As List(Of Integer) = GcMultiRow1.GetHorizontalSplitLocations()
Console.WriteLine("水平分割バーの数:{0}", hsLocations.Count)
Console.WriteLine("水平分割バー1の位置:{0}", hsLocations(0))

Dim vsLocations As List(Of Integer) = GcMultiRow1.GetVerticalSplitLocations()
Console.WriteLine("垂直分割バーの数:{0}", vsLocations.Count)
Console.WriteLine("垂直分割バー1の位置:{0}", vsLocations(0))
List<int> hsLocations = gcMultiRow1.GetHorizontalSplitLocations();
Console.WriteLine("水平分割バーの数:{0}", hsLocations.Count);
Console.WriteLine("水平分割バー1の位置:{0}", hsLocations[0]);

List<int> vsLocations = gcMultiRow1.GetVerticalSplitLocations();
Console.WriteLine("垂直分割バーの数: {0}", vsLocations.Count);
Console.WriteLine("垂直分割バー1の位置: {0}", vsLocations[0]);
ビューポートの追加
分割線によって分割された個々の画面をビューポートと呼びます。つまり分割線を追加することとビューポートを追加することは同義です。開発者がビューポートを追加するには、GcMultiRow.AddViewportメソッドを使用します。

次のコードは、垂直方向の分割線を追加してグリッドを水平方向に分割します。

GcMultiRow1.AddViewport(-1, 0)
gcMultiRow1.AddViewport(-1, 0);

次のコードは、水平方向の分割線を追加してグリッドを垂直方向に分割します。

GcMultiRow1.AddViewport(0, -1)
gcMultiRow1.AddViewport(0, -1);
ビューポート数の取得
水平方向のビューポート数は、GcMultiRow.GetHorizontalViewportCountメソッドで取得します。垂直方向のビューポート数は、GcMultiRow.GetVerticalViewportCountメソッドで取得します。

分割線の数はビューポートの数から1を引いた値です。
分割線の削除
分割線を削除するにはGcMultiRow.RemoveSplitメソッドを使用します。

GcMultiRow1.RemoveSplit(0, Orientation.Vertical)
gcMultiRow1.RemoveSplit(0, Orientation.Vertical);
  • 分割線の数を超える値を設定するとSystem.ArgumentOutOfRangeException例外が発生します。
分割線のスタイル
GcMultiRow.SplitStyleプロパティを使用すると、バーの背景色や幅を変更できます。

GcMultiRow1.AddViewport(-1, 0)
Dim SplitStyle1 As New GrapeCity.Win.MultiRow.SplitStyle()
SplitStyle1.BackColor = Color.Azure
SplitStyle1.DarkColor = Color.Blue
SplitStyle1.LightColor = Color.LightBlue
SplitStyle1.Width = 6
GcMultiRow1.SplitStyle = SplitStyle1
gcMultiRow1.AddViewport(-1, 0);
GrapeCity.Win.MultiRow.SplitStyle splitStyle1 = new GrapeCity.Win.MultiRow.SplitStyle();
splitStyle1.BackColor = Color.Azure;
splitStyle1.DarkColor = Color.Blue;
splitStyle1.LightColor = Color.LightBlue;
splitStyle1.Width = 6;
gcMultiRow1.SplitStyle = splitStyle1;

GcMultiRow.SplitOffice2007StyleプロパティおよびGcMultiRow.SplitOffice2021StyleプロパティがNone以外の場合、それぞれのスタイルが優先されます。

GcMultiRow1.AddViewport(-1, 0)
GcMultiRow1.SplitOffice2007Style = GrapeCity.Win.MultiRow.Office2007Style.Blue
gcMultiRow1.AddViewport(-1, 0);
gcMultiRow1.SplitOffice2007Style = GrapeCity.Win.MultiRow.Office2007Style.Blue;
SplitStyleエディタ
フォーム デザイナでGcMultiRowコントロールを選択し、プロパティ ウィンドウでGcMultiRow.SplitStyleプロパティの[...]ボタンをクリックすると、次の画面で分割線の外観を変更できます。
   
関連トピック

 

 


© MESCIUS inc. All rights reserved.