[ELTB04389]MouseDownイベントで、移動前のアクティブセルの位置が取得される
対象製品
El Tabelle for .NET 2.0J
発生環境
この現象はすべてのアセンブリで発生します。
詳細
Sheet.MouseDown イベントで Sheet.ActivePosition プロパティを参照すると、移動前の古いアクティブセルの位置が取得されてしまいます。
回避方法
この現象は製品の仕様によるものです。El Tabelle for .NET 2.0 では、イベントの発生順序が変更されたため、MouseDown イベントが発生した段階ではアクティブセルは移動していません。
・El Tabelle for .NET 1.0 におけるイベントの発生順序
EnteringCell
EnteredCell
MouseDown
・El Tabelle for .NET 2.0 におけるイベントの発生順序
MouseDown
EnteringCell
EnteredCell
次のいずれかの操作を行うことで現象を回避できます。
・MouseDown イベントでカーソルが指し示すセルの位置を取得する
[Visual Basic]
Private Sub Sheet1_MouseDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Sheet1.MouseDown
Dim objRange As New GrapeCity.Win.ElTabelle.Range
'マウスカーソルが指し示すセルを選択する
Sheet1.HitTest(New Point(e.X, e.Y), objRange)
Debug.WriteLine(objRange.LeftColumn & "," & objRange.TopRow)
End Sub
[C#]
private void sheet1_MouseDown(object sender,
System.Windows.Forms.MouseEventArgs e)
{
GrapeCity.Win.ElTabelle.Range objRange = new GrapeCity.Win.ElTabelle.Range;
//マウスカーソルが指し示すセルを選択する
sheet1.HitTest(new Point(e.X, e.Y), out objRange)
System.Diagnostics.Debug.WriteLine(
objRange.LeftColumn & "," & objRange.TopRow)
}
・El Tabelle for .NET 1.0 におけるイベントの発生順序
EnteringCell
EnteredCell
MouseDown
・El Tabelle for .NET 2.0 におけるイベントの発生順序
MouseDown
EnteringCell
EnteredCell
次のいずれかの操作を行うことで現象を回避できます。
・MouseDown イベントでカーソルが指し示すセルの位置を取得する
[Visual Basic]
Private Sub Sheet1_MouseDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Sheet1.MouseDown
Dim objRange As New GrapeCity.Win.ElTabelle.Range
'マウスカーソルが指し示すセルを選択する
Sheet1.HitTest(New Point(e.X, e.Y), objRange)
Debug.WriteLine(objRange.LeftColumn & "," & objRange.TopRow)
End Sub
[C#]
private void sheet1_MouseDown(object sender,
System.Windows.Forms.MouseEventArgs e)
{
GrapeCity.Win.ElTabelle.Range objRange = new GrapeCity.Win.ElTabelle.Range;
//マウスカーソルが指し示すセルを選択する
sheet1.HitTest(new Point(e.X, e.Y), out objRange)
System.Diagnostics.Debug.WriteLine(
objRange.LeftColumn & "," & objRange.TopRow)
}
この文書は、以前は次のFAQ IDで公開されていました : 4465