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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.12231 の関連記事表示

<< 0 >>
■12231  MouseWheelイベントがつかえない
□投稿者/ のぶ -(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 のメンバ
    >>
    >>概要:
    >>コントロールにフォーカスがあるときにマウス ホイールが動くと発生します。

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

    よろしくお願いします。
親記事 /過去ログ26より / 関連記事表示
削除チェック/

■12234  Re[1]: MouseWheelイベントがつかえない
□投稿者/ επιστημη -(2008/01/05(Sat) 17:48:54)
>
    2008/01/05(Sat) 17:49:40 編集(投稿者)

    たとえば:

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

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

記事No.12231 のレス /過去ログ26より / 関連記事表示
削除チェック/

■12258  Re[2]: MouseWheelイベントがつかえない
□投稿者/ のぶ -(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
記事No.12231 のレス /過去ログ26より / 関連記事表示
削除チェック/

■12232  Re[1]: MouseWheelイベントがつかえない
□投稿者/ Azulean -(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;
記事No.12231 のレス /過去ログ26より / 関連記事表示
削除チェック/

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

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

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

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

記事No.12231 のレス /過去ログ26より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -