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

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

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

Re[2]: フォームのメニューストリップでクリックしない


(過去ログ 89 を表示中)

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

■53355 / inTopicNo.1)  フォームのメニューストリップでクリックしない
  
□投稿者/ ほっとけ (1回)-(2010/09/10(Fri) 20:03:02)

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

フォームのメニューストリップでクリックせずにメニューを実行する。
メニューストリップで一番トップのメニューにカーソルが行くと、
下にメニューが表示されますが、この下のメニューが複数あり通常
これをクリックして実行しますが、目的の項目にカーソルをあてて、
横にマウスが抜けるとクリックせずともメニューが実行される。
といった事は可能でしょうか?つまりクリックしたくないのですが、
何か良い方法がありますか?

引用返信 編集キー/
■53364 / inTopicNo.2)  Re[1]: フォームのメニューストリップでクリックしない
□投稿者/ れい (958回)-(2010/09/11(Sat) 05:03:36)
No53355 (ほっとけ さん) に返信
> フォームのメニューストリップでクリックせずにメニューを実行する。
> メニューストリップで一番トップのメニューにカーソルが行くと、
> 下にメニューが表示されますが、この下のメニューが複数あり通常
> これをクリックして実行しますが、目的の項目にカーソルをあてて、
> 横にマウスが抜けるとクリックせずともメニューが実行される。
> といった事は可能でしょうか?つまりクリックしたくないのですが、
> 何か良い方法がありますか?
>

.NetのMenuStripですよね?
普通と挙動が違いますね。

> メニューストリップで一番トップのメニューにカーソルが行くと、
> 下にメニューが表示されますが、

普通はメニューの項目をクリックしないと下にメニューが表示されません。
ですので、クリックしたくないのなら、ここから対策しないといけません。

> この下のメニューが複数あり通常
> これをクリックして実行しますが、目的の項目にカーソルをあてて、
> 横にマウスが抜けるとクリックせずともメニューが実行される。
> といった事は可能でしょうか?つまりクリックしたくないのですが、
> 何か良い方法がありますか?

該当ToolStripItemや、それを含むContextMenuStripのMouseEnter/Leave/Hoverイベントを用いることで実現できます。
上記のメニューのクリックの話も、MenuStripのMouse系イベントを用いることで実現できます。

ただ、標準のGUIで想定されていない操作なので、
念入りに動作確認する必要があります。

クリックしながら横に抜けた場合はどうするのか、
ShiftやAltなど特殊キーを押していた場合はどうなるのか、
ドラッグ中だった場合はどうなるのか、
など、いろいろ考える必要があります。

ユーザーの習熟の問題や、デザインの統一の問題もあるので
変わったUIを苦労して作るのは辞めておいたほうがいいと思います。
引用返信 編集キー/
■53365 / inTopicNo.3)  Re[2]: フォームのメニューストリップでクリックしない
□投稿者/ ほっとけ (2回)-(2010/09/11(Sat) 07:41:46)
No53364 (れい さん) に返信

> .NetのMenuStripですよね?
> 普通と挙動が違いますね。
そうです、すみません、クリックなしで表示される様処理しました。

> ユーザーの習熟の問題や、デザインの統一の問題もあるので
> 変わったUIを苦労して作るのは辞めておいたほうがいいと思います。
上記、その他いろいろご忠告大変有り難う御座います。

ご忠告頂いてすみませんが、教えて頂いたMouseLeave,MouseHover,Timerを
調べて、ターゲットのマウスリーブで、タイマー起動
他の項目のホバーを見てリセットとかの処理を
すれば出来そうであることが確認出来ました。
大変有り難う御座いました。


解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -