tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDataGridで一つ前の選択を取得してしまう
記事No3572
投稿日: 2006/05/01(Mon) 16:23
投稿者.net入門者
[OSのVer]:WindowsXP  [VBのVer]:VB.NET 2003

いつも質問ばかりで申し訳ありません。

DataGrid をクリックするとそのセルの値を表示する
プログラムを作成しています。

クリックすると、どうしても一つ前に選択されていたセルの値を
取得してしまいます。

原因と対処がお分かりになる方がいらっしゃいましたら、
お忙しい中とは存じますが、ご教授して頂けないでしょうか。

念のため、ソースを掲載致します。

    Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseDown
        '現在のセルを取得
        Dim c As DataGridCell = DataGrid1.CurrentCell
        '現在の行番号を取得
        Dim rno As Integer = c.RowNumber
        '現在の列番号を取得
        Dim cno As Integer = c.ColumnNumber

        'セルの情報を表示
        MessageBox.Show(CStr(DataGrid1(rno, 1)))

    End Sub 

[ツリー表示へ]
タイトルRe: DataGridで一つ前の選択を取得してしまう
記事No3573
投稿日: 2006/05/01(Mon) 16:47
投稿者花ちゃん
下記の件はどうなったのですか?

DataGridが全くわからず困っています - DataGridをはじめて使います。 04/29-17:32 No.3566
Smtpメール送信について - .net入門者 04/29-17:26 No.3565

[ツリー表示へ]
タイトルRe^2: DataGridで一つ前の選択を取得してしまう
記事No3574
投稿日: 2006/05/01(Mon) 17:08
投稿者.net入門者
返答が遅れて申し訳ありません。
ご教授の通りのサイトで調べながら進めている所です。
SMTPのIDやパスワードの件はずっと調べているのですが、
いまだにわからずじまいです。

再度、投稿するわけにもいかず、なんとか調べ続けています。

今回の質問はWEBで色々検索してみたのですが、どうしてもしっくり
くるものが無く、申し訳ないのですが、投稿させていただきました。

[ツリー表示へ]
タイトル掲示板の使い方として
記事No3577
投稿日: 2006/05/02(Tue) 11:26
投稿者るしぇ
もう一度[初めにお読み下さい]ページに目を通してください。
>3.上手な質問の仕方(投稿文の書き方)
>  (1) お名前(ハンドルネーム)
>4.投稿後の対応
あたりです。

> SMTPのIDやパスワードの件はずっと調べているのですが、
> いまだにわからずじまいです。
DataGrid の使い方はそれなりに調べられそうなんだ?
でも解決したのか?の報告はしてないよね?

> 再度、投稿するわけにもいかず、なんとか調べ続けています。
同じスレッドで自分が調べたこと、分からないことを掲載して
『ただ教えてもらう』受身の態勢ではなく、自分が解決すべき
問題なのだから、自分で解決する意思を示すべきでは?

あと、場合によるけど、前の質問が解決できていないのに
次の質問をするのも、解決する意思が無いといった印象を
相手にあたえます。放置しないで経過報告があれば、まだ
マシですが、あまり質問の数を増やさないよう心掛けた方が
いいと思います。

[ツリー表示へ]
タイトルRe: DataGridで一つ前の選択を取得してしまう
記事No3576
投稿日: 2006/05/02(Tue) 10:22
投稿者るしぇ
MouseDown だからまだ Click イベントの前でしょ?
>クリックすると、どうしても一つ前に選択されていたセルの値を
>取得してしまいます。
それで正常な動きだと思います。まだクリックされてませんから。
イベントの起こる順番と、コンピュータがどの順番で、何をどう
処理するかを確認しましょう。(ヘルプを読むとか、調べたい
イベントに Debug.WriteLine("イベント名") を書くとか...)

>対処
他のイベントを調べてどこでカレントセルが変更されるか
確認するとか?(カレントセル変更のイベントもあったと思う
けど?)

[ツリー表示へ]