2

リボンタブがあり、各タブにボタン、テキストボックス、コンボボックスがあります。私の問題は、(コンボボックスの場合)マウスホイールで上下にスクロールできるようにしたいのですが、代わりに、マウスホイールがタブを変更します。その中のコンボボックスには影響しません。これを修正する方法はありますか?本当に迷惑です。

4

1 に答える 1

1

コメントが長すぎるので、ここに投稿します。

そのリボンコントロールから継承する独自のクラスを作成してみてください。私はComponentOneライブラリを持っていないので、この例では、コントロールを「リボン」と呼んでいます。

public class MyRibbon : Ribbon {

  public bool DisableMouseWheel { get; set; }

  protected override void OnMouseWheel(MouseEventArgs e) {
    if (!this.DisableMouseWheel) {
      base.OnMouseWheel(e);
    }
  }
}

ソリューションを再構築します。ソリューションエクスプローラーから[すべてのファイルを表示]ボタンをクリックして、フォームのデザイナーファイルを開きます。ファイルにはリボンタイプを参照する2行があり、タイプを新しいMyRibbonクラスに置き換えます。

次に、プロパティを変更するComboBoxのEnterイベントとLeaveイベントをサブスクライブしDisableMouseWheelます。

これを試す前に、作業のバックアップを作成してください。

于 2012-07-26T12:40:53.843 に答える