|
■No81172 (するめ さん) に返信
> パーフェクトでした。
ついでに、MultiLine 対応版も作ってみました。
---------------------------------------
Dim tc = DirectCast(sender, TabControl)
Dim area = Enumerable.Range(0, tc.TabCount) _
.Select(Function(i) tc.GetTabRect(i)) _
.Aggregate(Function(a, b) Rectangle.FromLTRB(
Math.Min(a.Left, b.Left),
Math.Min(a.Top, b.Top),
Math.Max(a.Right, b.Right),
Math.Max(a.Bottom, b.Bottom)))
'If tc.Alignment = TabAlignment.Top OrElse tc.Alignment = TabAlignment.Bottom Then
' area.Inflate(tc.Right - area.Right, 0)
'Else
' area.Inflate(0, tc.Height - area.Height)
'End If
If area.Contains(e.Location) Then
If e.Delta > 0 Then
tc.SelectedIndex += 1
ElseIf tc.SelectedIndex > 0 Then
tc.SelectedIndex -= 1
End If
End If
---------------------------------------
上記のコードに変更すると、☆部分であっても
ホイールに反応するようになります。
また、コメント部分を解除することで、★の部分にも対応します。
┌────┐
│TabPage4│☆☆☆☆☆☆☆☆☆☆★
┌────┏━━━━┓────┐★
│TabPage1┃TabPage2┃TabPage3│★
┏━━━━┛ ┗━━━━━━┓
|