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

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

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

Re[2]: MouseWheelイベントがつかえない


(過去ログ 26 を表示中)

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

■12231 / inTopicNo.1)  MouseWheelイベントがつかえない
  
□投稿者/ のぶ (12回)-(2008/01/05(Sat) 17:01:21)

分類:[.NET 全般] 

立て続けにに質問すいません。

今、C#2005(Express)でユーザーコントロールを作成しています。
で、VScrollBar を使用してコントロールに表示する内容を変更しようと考えているのですが、
ホイールのスクロールを検知する方法がわかりません。

web上でいろいろと調べてみると MouseWheel イベントを使用するようなことが書かれていますが
イベント一覧に上記のようなイベントは出てきません。

オブジェクトブラウザでは確かに

>>public event System.Windows.Forms.MouseEventHandler MouseWheel
>> System.Windows.Forms.Control のメンバ
>>
>>概要:
>>コントロールにフォーカスがあるときにマウス ホイールが動くと発生します。

となっていますが、どうすればイベントとして使用できるのかがわかりません。

よろしくお願いします。

引用返信 編集キー/
■12232 / inTopicNo.2)  Re[1]: MouseWheelイベントがつかえない
□投稿者/ Azulean (14回)-(2008/01/05(Sat) 17:34:40)
No12231 (のぶ さん) に返信
> web上でいろいろと調べてみると MouseWheel イベントを使用するようなことが書かれていますが
> イベント一覧に上記のようなイベントは出てきません。
表示されないように設定されているためです。
使用するためにはコードエディタからイベントを設定する必要があります。

コンストラクタのInitializeComponentの後あたりに、MouseWheelのイベントハンドラを登録するコードを書いてください。
("MouseWheel += "と入力後、Tabキーを2回押すと、イベントハンドラも生成してくれます)

public UserControl1()
{
InitializeComponent();
MouseWheel += new MouseEventHandler(UserControl1_MouseWheel);
}

void UserControl1_MouseWheel(object sender, MouseEventArgs e)
{
//TODO: ここで何かする
}

参考(Controlのメタデータ)
//
// 概要:
// コントロールにフォーカスがあるときにマウス ホイールが動くと発生します。
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Advanced)]
public event MouseEventHandler MouseWheel;
引用返信 編集キー/
■12234 / inTopicNo.3)  Re[1]: MouseWheelイベントがつかえない
□投稿者/ επιστημη (764回)-(2008/01/05(Sat) 17:48:54)
επιστημη さんの Web サイト
2008/01/05(Sat) 17:49:40 編集(投稿者)
たとえば:

public Form1() {
  InitializeComponent();
  vScrollBar1.MouseWheel += this.OnWheel; // ←コレ追加
}

// Wheeelが回ったら
private void OnWheel(object sender, MouseEventArgs e) {
  なんかする
}


引用返信 編集キー/
■12258 / inTopicNo.4)  Re[2]: MouseWheelイベントがつかえない
□投稿者/ のぶ (1回)-(2008/01/06(Sun) 23:25:25)
No12234 (επιστημη さん) に返信
> 2008/01/05(Sat) 17:49:40 編集(投稿者)
>
> たとえば:
>
> public Form1() {
> InitializeComponent();
> vScrollBar1.MouseWheel += this.OnWheel; // ←コレ追加
> }
>
> // Wheeelが回ったら
> private void OnWheel(object sender, MouseEventArgs e) {
> なんかする
> }

ばっちり出来ました!
見えないイベントがあるなんて知りませんでした・・・
ありがとうございます。m(__)m

引用返信 編集キー/
■12259 / inTopicNo.5)  Re[2]: MouseWheelイベントがつかえない
□投稿者/ のぶ (2回)-(2008/01/06(Sun) 23:27:56)
No12232 (Azulean さん) に返信
> ■No12231 (のぶ さん) に返信
>>web上でいろいろと調べてみると MouseWheel イベントを使用するようなことが書かれていますが
>>イベント一覧に上記のようなイベントは出てきません。
> 表示されないように設定されているためです。
> 使用するためにはコードエディタからイベントを設定する必要があります。
>
> コンストラクタのInitializeComponentの後あたりに、MouseWheelのイベントハンドラを登録するコードを書いてください。
> ("MouseWheel += "と入力後、Tabキーを2回押すと、イベントハンドラも生成してくれます)

ばっちり出来ました!
なんで、わざわざ見えなくしているのでしょうかねぇ・・・

Tab 2回押しの機能は知りませんでした。
ちょっと感動(笑)

ありがとうございました。m(__)m


引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -