
質問よろしくお願いします。環境はVisualBasic 2008です。
タブコントロール内にいくつかのタブページがあるとして、タブの見出し部分(タブページではない)にマウスカーソルがあったらそのタブをアクティブにする(選択された状態にする)にはどのようにすればいいのでしょうか。
ようするに、マウスカーソルによってタブを自動的に切り替えたいのです。
MouseHoverイベントなどで試していますが、TabPage1もTabPage2もクリック情報をみるとTabControl1をクリックしたことになっていて、判定により特定のタブをアクティブにすることができません。
ぜひご教授願います。
No.1ベストアンサー
- 回答日時:
TabControlのMouseMoveイベントのほうがいいかもしれないですよ
Private Sub TabControl1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabControl1.MouseMove
Dim n As Integer
' (円記号)バックスラッシュ演算子で割り算の商を求める
' マウスの位置Xを tabの幅で除算してどのタブの上にいるか判定
n = e.Location.X \ TabControl1.ItemSize.Width
' 現在の選択と違うなら変更
If n <> TabControl1.SelectedIndex And n < TabControl1.TabCount Then
TabControl1.SelectedIndex = n
End If
End Sub
といった具合です
MouseHoverの場合コントロール内で移動してから停止しても再度のイベントが発生しないようで思わしくありませんね
私のしたかったことはまさにこのことでした。
途中からマウスポインタの座標を用いる方法でないと実現できないのではないかと悩んでおりました。
サンプルソースまで記述していただいて誠に感謝しております。
ネット上で調べてもなかなか出てきませんでしたので参考にする方は多いと思います。
とても勉強になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
連続で印刷すると画像が更新さ...
-
TabControlとToolBarの背景色変更
-
DateTimePickerでに年月までし...
-
コモンダイアログコントロール...
-
VisualStudio MFC変数が追加で...
-
MFC CFileDialog
-
Excel VBAでのMultipageの選択
-
スピンボタンを右クリックして...
-
リストボックスの同期
-
文字色を変えたい(ACCESS VBA)
-
VB6でタブコントロールが見つか...
-
VC++ダイアログボックスの表示...
-
エクセルのコントロールツール...
-
空のリストビューで1行おきに...
-
EXCEL2003 VBAにつ...
-
C#でChartコントロールを...
-
C#でのドライブリスト・ファイ...
-
SDIのコントロールを隠す
-
タブインデックスをより簡単に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
スピンボタンを右クリックして...
-
ActiveXコントロールを.NETにイ...
-
DateTimePickerでに年月までし...
-
フォームでPDFを表示させた...
-
コモンダイアログコントロール...
-
CEdit の内容が変わった時にメ...
-
エクセル - リストボックスのマ...
-
regsvr32でActiveX登録を行ったocx
-
アイテムを点滅させる
-
プロパティシートのタブの名前...
-
警告表示を非表示にしたい
-
TabControlとToolBarの背景色変更
-
EXCELVBA リストボックスで選択...
-
空のリストビューで1行おきに...
-
C#.NETでのCOMコンポーネント作...
-
スクロールバーを点滅させない方法
-
連続で印刷すると画像が更新さ...
-
Accessのタブコントロールを2...
おすすめ情報