winforms标签页事件未触发

时间:2014-03-10 13:56:47

标签: c# winforms tabcontrol tabpage

我有TabControl用户可以添加标签页。

我正在尝试将一些事件附加到其中,例如:MouseEnterMouseLeaveMouseClick,但似乎这些事件根本没有发射,它们只会在我发射时触发将它们附加到TabControl本身,但这不是我需要的。

将事件附加到标签控制标签页有什么问题?

以下是我最近尝试从我的代码中附加这些事件:

private void customerTabCtrl_ControlAdded(object sender, ControlEventArgs e)
{
   TCTabPage tctab = (TCTabPage)e.Control; // Option A
   TCTabPage tctab = (TCTabPage)customerTabCtrl.Controls[customerTabCtrl.Controls.Count - 1]; //Option B
   tctab.MouseEnter += new EventHandler(tctab_MouseEnter);
   tctab.MouseLeave += new EventHandler(tctab_MouseLeave);
}

2 个答案:

答案 0 :(得分:1)

我这么傻...... 我发现了“问题”,我认为MouseEnter,MouseLeave,MouseClick事件应该在光标位于标签页面时触发,但看起来这些事件仅在光标位于标签主体时触发... Sory的麻烦,我现在只使用winforms 6个月......

答案 1 :(得分:0)

您不需要为此事件,因为默认情况下,最终用户无法在没有为其提供代码的情况下将TabPages添加到TabControl。

因此,无论您何时添加TabPage,都应该将这些事件连接起来:

TCTabPage tctab = new TCTabPage();
tbtab.Text = "New Tab";
tctab.MouseEnter += tctab_MouseEnter;
tctab.MouseLeave += tctab_MouseLeave;
customerTabCtrl.TabPages.Add(tctab);