複数シート間でのスクロール同期を実装する方法

文書番号 : 17411     文書種別 : 使用方法     最終更新日 : 2005/04/29
文書を印刷する
対象製品
El Tabelle for .NET 3.0J
詳細
複数のシートでスクロールを同期するには、それぞれの Scroll イベント で TopLeft プロパティ の値を同期します。

WorkBook/Sheetの場合:

[Visual Basic]
Private Sub Sheet1_Scroll(ByVal sender As Object, _
  ByVal e As System.EventArgs) Handles Sheet1.Scroll
  Sheet2.TopLeft = Sheet1.TopLeft
End Sub

Private Sub Sheet2_Scroll(ByVal sender As Object, _
  ByVal e As System.EventArgs) Handles Sheet1.Scroll
  Sheet1.TopLeft = Sheet2.TopLeft
End Sub

[C#]
private void sheet1_Scroll(object sender, System.EventArgs e)
{
  sheet2.TopLeft = sheet1.TopLeft;
}

private void sheet2_Scroll(object sender, System.EventArgs e)
{
  sheet1.TopLeft = sheet2.TopLeft;
}

MultiRowSheetの場合:

[Visual Basic]
Private Sub MultiRowSheet1_Scroll(ByVal sender As Object, _
  ByVal e As System.EventArgs) Handles MultiRowSheet1.Scroll
  Me.MultiRowSheet2.TopLeft = Me.MultiRowSheet1.TopLeft
End Sub

Private Sub MultiRowSheet2_Scroll(ByVal sender As Object, _
  ByVal e As System.EventArgs) Handles MultiRowSheet2.Scroll
  MultiRowSheet1.TopLeft = MultiRowSheet2.TopLeft
End Sub

[C#]
private void multiRowSheet1_Scroll(object sender, System.EventArgs e)
{
  multiRowSheet2.TopLeft = multiRowSheet1.TopLeft;
}

private void multiRowSheet2_Scroll(object sender, System.EventArgs e)
{
  multiRowSheet1.TopLeft = multiRowSheet2.TopLeft;
}

※ MultiRowSheet の場合、2つのコントロールで同一のテンプレート(レイアウト)を使用する必要があります。
※ イベントハンドラのコードは Visual Studio .NET で生成してください。
キーワード
HowTo

この文書は、以前は次のFAQ IDで公開されていました : 6971