- - PR -
ComboBox や NumericUpDown の選択項目をマウスホイールで変更できるのは変では?
1
投票結果総投票数:46 | |||
---|---|---|---|
ホイールで変化すべきである | 32票 | 69.57% | |
ホイールで変化すべきではない | 14票 | 30.43% | |
|
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-07-10 17:57
ごく普通のフォームを持った Windows Application を作っていて気になったのですが、マウスのホイールをコロコロと回転させると、ComboBox の選択項目や NumericUpDown コントロールの値が変更します。
(なお、通常の Windows 環境だと、コントロールをクリック等してフォーカスを当ててからでないとホイールが効きません。しかし、ホイール関連のユーティリティーソフトウェアを使っている場合は、フォーカスを当てなくても、マウスポインターをコントロールの上に持っていっただけでホイールが効きますので、この問題が顕著になります。) .NET でなくても、Windows アプリケーション、たとえば IE でも、表示されるドロップダウンリストボックス(select タグの option タグ)も同じような動きですし、今まではこれがあたりまえだと思っていました。 しかし、良く考えると、ListBox や DataGridView で同じようにホイールをコロコロしても、上下にスクロールはしますが選択されている項目や値は変化しません。これでは統一性がありません。 したがって、私は ComboBox の選択項目や NumericUpDown も、ホイールによる変化はしないほうが自然ではないかと考えます。 しかし、ホイールが登場してからもう十年以上経ってしまった今となっては、もはやユーザーインターフェースのガイドラインを変更することは無理でしょう。もし、ホイールマウスが登場した当時に、Microsoft に意見できるとしたら、みなさまはどちらの方式を Microsoft に伝えますか? | ||||
|
投稿日時: 2008-07-12 01:49
投票ありがとうございます。
(今現在、変化すべきである:変化すべきでない = 18:5 です。) ちなみに、私が良く戸惑うのは、なんらかの登録・応募のために、住所・氏名を入力するような縦長の HTML FORM を持った画面に IE でアクセスする場合です。 都道府県を選択するドロップダウンリストボックスで、自分の都道府県を選んだ後、画面の下の別の入力項目を画面の中央に持ってくるために下スクロールしようとしてホイールを回したら都道府県が変わってしまう、というのが良くあります。 今、IE で試してみたら(ホイールユーティリティーを使わない状態で)、マウスカーソルがドロップダウンリストボックス(select タグの option タグ)の上に乗っているとき(Mouse Over しているとき)だけホイールがドロップダウンリストボックスに作用し、乗っていないと作用しないようになっていました。あれ?昔からこういう動きでしたっけ? ちなみに Firefox 2.0 も調べてみると、ドロップダウンリストボックスの選択項目は、ホイールでは一切変化しないという仕様になっていました。オプションのダイアログボックスの中のドロップダウンリストボックスも同じでした。 う〜ん、著名なアプリケーション間ですでに統一されていないんですねえ。 | ||||
|
投稿日時: 2008-07-14 12:11
なにを問題にされているのか、よくわかりません。「ホイール関連のユーティリティーソフトウェアを使っている場合」に顕著なら、そういうユーティリティが問題を起こしているのであって、マイクロソフトは関係ないのでは?
| ||||
|
投稿日時: 2008-07-14 12:38
すみません。分かりにくかったですね。「ホイール関連のユーティリティーソフトウェア」は余計でした。以下、それらのユーティリティーは使わなかったものとして読んでください。 以下に、私が問題とする挙動を書きますと、 たとえば、このスレッドを、ブラウザーで 閲覧していると、会議室を選択できるドロップダウンリストボックスが、右下のこの辺(↓) に表示されていると思います。 IE7 だと、ドロップダウンリストボックスの右側の▼印を押してドロップダウンを展開して、選択肢の中の会議室を適当にクリックして選んで、ドロップダウンが閉じた後(フォーカスはまだドロップダウンリストボックスが持っている)、マウスカーソルがそのドロップダウンリストボックスの上にある場合、ホイールを回すと、選択肢が変わってしまいます。マウスカーソルがそのドロップダウンリストボックスの上になければページ全体の上下スクロールになります。 Firefox 2.0 だと、同じことをしても、マウスカーソルの位置に関係なく、ホイールはドロップダウンリストボックスの選択肢を変化させません。常にページ全体の上下スクロールになります。 また、Visual C# 2008 で作った Windows Application の ComboBox や NumericUpDown は、それらのコントロールがフォーカスを獲得している状態では、マウスカーソルの位置に関係なく、選択肢や値がホイールで変化します。 私は、そもそも IE と Firefox でホイールの挙動が違うのは変だと思います。 また、 ・Microsoft が作った IE のドロップダウンリストボックスの挙動 ・Microsoft が作った Visual C# を使って作ったアプリケーションの ComboBox の挙動 が、両者の見栄えは同じなのに、マウスカーソルの位置による挙動が異なっているのは変だと思います。 私は、選択肢や値は、Firefox のようにホイールで一切変わらないというのが、シンプルで望ましいと考えます。 こんな感じです。 | ||||
|
投稿日時: 2008-07-14 13:09
「ホイール関連のユーティリティーソフトウェア」
以前にC#でアプリを作った際にマウスドライバーの差異によって、リストボックスのスクロール挙動が変わった経験があります。 また、コントロールの種類や選択肢の数によってホイールが効いてほしい場合、そうでない場合はケースバイケースかと思います。 なので私としては「アプリケーション製作者、出来ればユーザに決定権があるべき」に一票デス (ヘンな事言ってるかな?) | ||||
|
投稿日時: 2008-07-14 22:54
なるほど、確かに、そうですね。 user=274281の未記入さんがおっしゃるように、エンド ユーザに選択権が欲しいなぁ。もちろん、統一された形で。 統一するとなると、ListBox やスクロール可能な TextBox、HTML 要素だと、overflow に scroll や auto を設定した場合のスクロール可能な要素も該当してくるでしょうか。それとも、値を選択するコントロールだけになるのでしょうか。 |
1