FlexGrid for WinForms
ScrollPosition プロパティ (ScrollableControl)
使用例 

C1.Win.C1FlexGrid.4.5.2 アセンブリ > C1.Win.C1FlexGrid.Util.BaseControls 名前空間 > ScrollableControl クラス : ScrollPosition プロパティ
自動スクロール位置を取得または設定します。
シンタックス
'宣言
 
Public Property ScrollPosition As System.Drawing.Point
public System.Drawing.Point ScrollPosition {get; set;}
解説

スクロール位置をピクセル座標で取得または設定するには、 ScrollPositionプロパティを使用します。

スクロール位置をセル座標で取得または設定するには、 TopRowプロパティと LeftColプロパティを使用します。

使用例

次のコードは、2つのグリッド(_flexLeft と _flexRight)を連結し、垂直スクロールを同期させます。水平方向にはグリッドを独立にスクロールできます。

' グリッドを連結します。
fgRight.DataSource = fgLeft
fgLeft.ScrollBars = ScrollBars.Horizontal
          
' 垂直方向のスクロールを同期させます。
' これは両方のグリッドの AfterScroll イベントを処理します。
Private Sub flex_AfterScroll(sender As Object, e As C1.Win.C1FlexGrid.RangeEventArgs) Handles fgLeft.AfterScroll, fgRight.AfterScroll
  ' 送信元のグリッド(_flexLeft または _flexRight)を更新します。
  Dim fg As C1FlexGrid = CType(sender, C1FlexGrid)
  fg.Update()
  
  ' 送信元のグリッドから新しい垂直位置を取得します。
  Dim y As Integer = fg.ScrollPosition.Y
  
  ' 新しい垂直位置をもう一方のグリッドに適用します。
  If fg.Equals(fgLeft) Then
    fgRight.ScrollPosition = New Point(fgRight.ScrollPosition.X, y)
  Else
    fgLeft.ScrollPosition = New Point(fgLeft.ScrollPosition.X, y)
  End If
End Sub
// グリッドを連結します
_flexRight.DataSource = _flexLeft;
_flexLeft.ScrollBars = ScrollBars.Horizontal;
          
// 垂直スクロールを同期させます
// これは両方のグリッドの AfterScroll イベントを処理します
private void flex_AfterScroll(object sender, C1.Win.C1FlexGrid.RangeEventArgs e)
{
  // 送信元のグリッド(_flexLeft または _flexRight)を更新します
  C1FlexGrid src = ((C1FlexGrid)sender);
  src.Update();
  
  // 送信元のグリッドから新しい垂直位置を取得します
  int y = src.ScrollPosition.Y;
  
  // 新しい垂直位置をもう一方のグリッドに適用します
  if (src.Equals(_flexLeft))
  {
    _flexRight.ScrollPosition = new Point(_flexRight.ScrollPosition.X, y);
  }
  else
  {
    _flexLeft.ScrollPosition = new Point(_flexLeft.ScrollPosition.X, y);
  }
}
参照

ScrollableControl クラス
ScrollableControl メンバ