[ELTB04324]シートから他のコントロールにフォーカスを移動した時 LeaveCell イベントが発生しない

文書番号 : 15878     文書種別 : 制限事項     最終更新日 : 2004/11/16
文書を印刷する
対象製品
El Tabelle for .NET 2.0J
発生環境
この現象はすべてのアセンブリで発生します。
詳細
El Tabelle for .NET 2.0 のシートから他のコントロールにフォーカスを移動したとき、Sheet.LeaveCell イベントが発生しません。
El Tabelle for .NET 1.0 では Sheet.LeaveCell イベントが発生します。
回避方法
この現象は、2.0 の仕様変更に伴うものです。コントロール間のフォーカス移動の処理は Sheet.LostFocus イベントを使用します。

1.0 と同様の処理を行う場合、次のようにコーディングします。

[Visual Basic]
Private Sub Sheet1_LeaveCell(ByVal sender As Object, ByVal e As GrapeCity.Win.ElTabelle.LeaveCellEventArgs) Handles Sheet1.LeaveCell
  Debug.WriteLine("Sheet1_LeaveCell")
End Sub

Private Sub Sheet1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Sheet1.LostFocus
  Sheet1_LeaveCell(sender, New GrapeCity.Win.ElTabelle.LeaveCellEventArgs(Sheet1.ActivePosition, GrapeCity.Win.ElTabelle.MoveStatus.NoAction, False))
End Sub

[C#]
private void sheet1_LeaveCell(object sender,
  GrapeCity.Win.ElTabelle.LeaveCellEventArgs e)
{
  System.Diagnostics.Debug.WriteLine("Sheet1_LeaveCell")
}

private void sheet1_LostFocus(object sender,
  System.EventArgs e)
{
  sheet1_LeaveCell(sender,
    new GrapeCity.Win.ElTabelle.LeaveCellEventArgs(sheet1.ActivePosition,
    GrapeCity.Win.ElTabelle.MoveStatus.NoAction, false));
}

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