在 Windows 窗体应用程序中,我在 TabControl 上设置了 ContextMenuStrip 属性。
- 如何告诉用户点击了当前所选标签以外的标签?
- 如何限制上下文菜单仅在单击带有标签的顶部选项卡部分时显示,而不是在选项卡的其他位置显示?
最佳答案
不必在 TabControl 上设置 contextMenuStrip 属性。而是这样做。连接到 tabControl 的 MouseClick 事件,然后手动显示上下文菜单。这只会在顶部的选项卡本身被点击时触发,而不是实际页面。如果您单击该页面,则 tabControl 不会收到单击事件,而 TabPage 会收到。一些代码:
public Form1()
{
InitializeComponent();
this.tabControl1.MouseClick += new MouseEventHandler(tabControl1_MouseClick);
}
private void tabControl1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.contextMenuStrip1.Show(this.tabControl1, e.Location);
}
}
关于c# - TabControl 上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457677/