AnisTabControl

C#タブブラウザを作る練習をしていたら、TabControlのいいカスタマイズ版のソースコードを見つけた。
AnisTabControl
http://www.k4.dion.ne.jp/~anis7742/codevault/00070.html

タブ札のドラッグアンドドロップや、各種イベントを追加しているようだ。

ここでは、タブ札ダブルクリックでタブ札をRemoveしたかったので、
以下のAnisTabControlのサブクラスを作った。
(ただし、親クラスのAnisTabControlのほとんどのメソッドにvirtualキーワードを追加した。)

namespace ABCS.Classes
{
    public class MyAnisTabControl : AnisTabControl
    {
        public MyAnisTabControl()
            : base()
        {
        }
         

        public override void AnisTabControl_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            TabControl tabCntl = null;
            try
            {
                tabCntl = (TabControl)sender;
            }
            catch (Exception excp)
            {
                return;
            }

            if (tabCntl == null)
            {
                return;
            }
            else
            {
                int index = base.TabIndexFromPoint(e.Location);
                tabCntl.TabPages.Remove(tabCntl.TabPages[index]);
            }
        }

    }
}