我有TabControl
用户可以添加标签页。
我正在尝试将一些事件附加到其中,例如:MouseEnter
,MouseLeave
,MouseClick
,但似乎这些事件根本没有发射,它们只会在我发射时触发将它们附加到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);
}
答案 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);