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

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

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

Re[3]: DataGridViewでマウス操作のみで複数選択するには


(過去ログ 81 を表示中)

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

■48214 / inTopicNo.1)  DataGridViewでマウス操作のみで複数選択するには
  
□投稿者/ くらり (1回)-(2010/03/27(Sat) 17:16:00)

分類:[VB.NET/VB2005 以降] 

開発環境
VB.NET 2008

いつも拝見し参考にさせて頂いております。

今回、DataGridViewの複数選択操作についての
質問になります。

複数選択可能の設定(MultiSelect=True)にして
操作すると、「Shiht、Ctrl」ボタンを押下しながらであれば
複数選択が可能ですが、マウス操作のみで未選択行を複数選択するには
どのように実装すればよろしいでしょうか。

未選択行をクリックするだけで次々と選択状態としたい考えです。
また選択解除についてもマウス操作のみで次々と解除したいです。

どなたかご教授頂けないでしょうか。
宜しくお願い致します。



引用返信 編集キー/
■48215 / inTopicNo.2)  Re[1]: DataGridViewでマウス操作のみで複数選択するには
□投稿者/ オショウ (535回)-(2010/03/27(Sat) 18:12:30)
No48214 (くらり さん) に返信
> 複数選択可能の設定(MultiSelect=True)にして
> 操作すると、「Shiht、Ctrl」ボタンを押下しながらであれば
> 複数選択が可能ですが、マウス操作のみで未選択行を複数選択するには
> どのように実装すればよろしいでしょうか。
>
> 未選択行をクリックするだけで次々と選択状態としたい考えです。
> また選択解除についてもマウス操作のみで次々と解除したいです。

  チェックボックス列を追加して、行う方法しか思いつかない・・・

※ 私はそうしました。

以上。参考まで
引用返信 編集キー/
■48220 / inTopicNo.3)  Re[1]: DataGridViewでマウス操作のみで複数選択するには
□投稿者/ ヴァン (67回)-(2010/03/29(Mon) 09:47:41)
No48214 (くらり さん) に返信
> 複数選択可能の設定(MultiSelect=True)にして
> 操作すると、「Shiht、Ctrl」ボタンを押下しながらであれば
> 複数選択が可能ですが、マウス操作のみで未選択行を複数選択するには
> どのように実装すればよろしいでしょうか。

マウスがDataGridView内に入っているときは、Ctrlキーを押された状態にしました。
もっと他に良い方法はあると思いますが...
引用返信 編集キー/
■48221 / inTopicNo.4)  Re[2]: DataGridViewでマウス操作のみで複数選択するには
□投稿者/ くらり (2回)-(2010/03/29(Mon) 09:53:46)
No48220 (ヴァン さん) に返信
> ■No48214 (くらり さん) に返信
>>複数選択可能の設定(MultiSelect=True)にして
>>操作すると、「Shiht、Ctrl」ボタンを押下しながらであれば
>>複数選択が可能ですが、マウス操作のみで未選択行を複数選択するには
>>どのように実装すればよろしいでしょうか。
>
> マウスがDataGridView内に入っているときは、Ctrlキーを押された状態にしました。
> もっと他に良い方法はあると思いますが...

オショウさん、ヴァンさん回答ありがとうございます。

ヴァンさん、「DataGridView内に入っているときは、Ctrlキーを押された状態」とは
どのような実装になるのでしょうか。。

申し訳ないのですが、ご教授願えないでしょうか。
宜しくお願い致します。

引用返信 編集キー/
■48251 / inTopicNo.5)  Re[3]: DataGridViewでマウス操作のみで複数選択するには
□投稿者/ ヴァン (68回)-(2010/03/30(Tue) 19:47:39)
No48221 (くらり さん) に返信
> ■No48220 (ヴァン さん) に返信
>>■No48214 (くらり さん) に返信
> >>複数選択可能の設定(MultiSelect=True)にして
> >>操作すると、「Shiht、Ctrl」ボタンを押下しながらであれば
> >>複数選択が可能ですが、マウス操作のみで未選択行を複数選択するには
> >>どのように実装すればよろしいでしょうか。
>>
>>マウスがDataGridView内に入っているときは、Ctrlキーを押された状態にしました。
>>もっと他に良い方法はあると思いますが...
>
> オショウさん、ヴァンさん回答ありがとうございます。
>
> ヴァンさん、「DataGridView内に入っているときは、Ctrlキーを押された状態」とは
> どのような実装になるのでしょうか。。
>
> 申し訳ないのですが、ご教授願えないでしょうか。
> 宜しくお願い致します。
>

DataGridViewを継承したクラスを作ります。

WndProc を override して、マウスのメッセージを受け取ります。

WM_MOUSEMOVE で Ctrlキーが押された状態にします。(WM_MOUSEMOVEは何度も来るので注意)

WM_MOUSELEAVE で Ctrlキーが離された状態にします。

Ctrlキーの状態は keybd_event で操作します。

タッチパネルでの操作を前提にしてますので、キーボード操作は...
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -