C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 31 を表示中)
■14734 / )  Re[1]: datagridviewのcellについて。
□投稿者/ まどか (458回)-(2008/02/26(Tue) 15:31:33)
#Data系とは疎遠なのでそのものについては詳しくないですが。

> datagridのcellLeaveイベントに以下のソースをかきました。
>
> Private Sub EnterTabgrdList_CellLeave(ByVal sender As Object, ByVal e As_ System.Windows.Forms.DataGridViewCellEventArgs) Handles EnterTabgrdList.CellLeave
>
> '今の行と列を取得
>
> Dim pos As Point = Me.EnterTabgrdList.CurrentCellAddress

Enterも含めてLeaveはフォーカスをきっかけとしたイベントです。
Enterは突入した先が、Leaveは離れた元(今まで居た)がイベントの主体です。

Leaveは離れたという事象のみを表しており、「どこへ」という概念は無く、また「どこかへ行った」という確定事象も保証されない(と思ったほうがよい)です。
したがって、「現在のセル」を求めても「現在の」であるかはわからないはずです。

また、DBうんぬんという条件も書かれていますが、先に言ったようにフォーカスがきっかけのイベントですので
イベントと処理で事象とそのタイミングでやるべきことがマッチするように
極力そこに不確定要素(〜なるはずだ)を持ち込まないようにしたほうがよいでしょう。


とりあえず、あたりをつけたイベントにConsole.WriteLine等を仕込んで値を確認して、イベント間の規則性を把握してはどうでしょうか。
返信 編集キー/


管理者用

- Child Tree -