DOBON.NET DOBON.NETプログラミング掲示板過去ログ

TabControl内のTabPageを右クリックで選択する

環境/言語:[Win XP, VB.NET 2003]
分類:[.NET]

お世話になります。かなだかです。

現在TabControlを利用したアプリケーションを開発しています。
TabPageのテキスト(題目)部分を右クリックした時、マウス下にあるTabPageを選択したいのですが、うまくいきません。

Visual Studio等にもある機能で、タブを右クリックした時にコンテキストメニューを表示すると同時に、そのタブも表示(選択)するという機能を実現したいのですが、
Me.TabPages(hoge).DisplayRectangle.Contains(e.X, e.Y)
としてみても思い通りに選択できずに困っています。
すみません。十分に調べたつもりだったのですが、
TabControlにGetTabRectというメソッドを発見し、それに

Dim tabRect As Rectangle = Me.GetTabRect(clickIndex)
If (e.X >= tabRect.Left _
 AndAlso e.X <= tabRect.Right _
 AndAlso e.Y >= tabRect.Top _
 AndAlso e.Y <= tabRect.Bottom) Then
.....

を判定させてやれば、解決することができました。
おさわがせして申し訳ありませんでした。
解決済み!
■No18344に返信(かなだかさんの記事)
> Dim tabRect As Rectangle = Me.GetTabRect(clickIndex)
> If (e.X >= tabRect.Left _
>  AndAlso e.X <= tabRect.Right _
>  AndAlso e.Y >= tabRect.Top _
>  AndAlso e.Y <= tabRect.Bottom) Then
> .....
>
> を判定させてやれば、解決することができました。

判定は、Rectangle.Contains メソッドを使いましょう。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板