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

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

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

Re[1]: DataGridのClickイベントについて


(過去ログ 81 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■47692 / inTopicNo.1)  DataGridのClickイベントについて
  
□投稿者/ hide (8回)-(2010/03/11(Thu) 13:11:44)

分類:[.NET 全般] 

開発環境
・windowsXP SP2
・Visual Studio .NET2003

今回はじめて質問させて頂きます。よろしくお願いします。

現在、WindowsアプリケーションをC#で開発しています。
.Net Framework1.1のときには正しく動作していたのですが、
SP1を適用したところ正しく動作しなくなりました。
(SP1用セキュリティ更新プログラム(KB928366)をあてても変化なしです。)

動作としては、DataGridに表示されている任意の行をクリックすると
その行に関連する情報を別ウィンドウに表示するしくみです。

.Net Framework1.1 SP1を適用した後では、
「DataGridに表示されている任意の行をクリックする」と選択した行の
値(セル内の文字)が選択された状態になり別ウィンドウが表示されません。

デバッグで確認すると
.Net Framework1.1は「MouseDown」→「Click」イベントの順に動作しますが、
.Net Framework1.1 SP1では「MouseDown」イベントしか動きません。
(「Click」イベントを通らない。)
「Click」イベント内で別ウィンドウを表示する処理を行っています。

無理やり、「MouseDown」イベントの中から「Click」イベントを呼び出せば
動くことは動きます。しかし、クリックした行が選択された状態になってしまいます。
(DataGridのヘッダー行をクリックすると選択行は解除されます。)

このような現象を経験された方、対処方法のわかる方がいらっしゃれば教えて
いただけないでしょうか?

※ クリックした行の選択された状態を解除する方法でも結構です。よろしくお願いします。


引用返信 編集キー/
■47729 / inTopicNo.2)  Re[1]: DataGridのClickイベントについて
□投稿者/ みきぬ (818回)-(2010/03/12(Fri) 13:43:05)
現象にはさっぱり心当たりがない。
ただ、

> 無理やり、「MouseDown」イベントの中から「Click」イベントを呼び出せば
> 動くことは動きます。しかし、クリックした行が選択された状態になってしまいます。

これはホントに無理やりなので、これをやるくらいなら
MouseDown イベント内で別ウインドウに表示する処理を行うほうがいいと思う。

選択を解除するのは、ResetSelection() や UnSelect() などを使えばよいはず。


でもって情報共有リンク。
http://ap.atmarkit.co.jp/bbs/core/fdotnet/20476

1日経って回答がなかったからここで質問し直したんだと思うけど、
そのことは両方の場所で説明しておくとベター。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -