DataGrid内の指定された行までスクロールするDataGridのCurrentCellを変更すればその行までスクロールさせることができますが、ここではそうせずにスクロールさせる方法を紹介します。 DataGrid内の指定された行までスクロールするには、DataGridクラスのGridVScrolledメソッドを呼び出せばよいのですが、このメソッドはProtectedメンバのため、直接は呼び出せません。よって、DataGridクラスから派生したクラスを作成して、そこから呼び出すようにします。 使用するには、DataGridの代わりにこのクラスを使うようにします。 注意:新しく作成したクラスを、基のコントロールクラスの代わりに使用するという意味が分からないという方は、こちらをご覧ください。 [VB.NET] Imports System Imports System.Windows.Forms Public Class MyDataGrid Inherits DataGrid ''' <summary> ''' DataGridの最初に表示される行を設定する ''' </summary> ''' <param name="rowNum">DataGridの最初に表示される行の番号</param> Public Sub SetTopRow(ByVal rowNum As Integer) Dim args As New ScrollEventArgs( _ ScrollEventType.LargeIncrement, rowNum) GridVScrolled(Me, args) End Sub End Class [C#] using System; using System.Windows.Forms; public class MyDataGrid : DataGrid { /// <summary> /// DataGridの最初に表示される行を設定する /// </summary> /// <param name="rowNum">DataGridの最初に表示される行の番号</param> public void SetTopRow(int rowNum) { ScrollEventArgs args = new ScrollEventArgs(ScrollEventType.LargeIncrement, rowNum); GridVScrolled(this, args); } } |
|
Copyright 2002-2008 DOBON!. All rights reserved.
|