为什么CSDN的关闭tabPage页面都是报这个错误?,那个计算关闭区域的代码:
//如果鼠标点击的是左键
if (e.Button == MouseButtons.Left)
{
int x = e.X, y = e.Y;
//计算关闭区域
Rectangle myTabRect = tabControl1.GetTabRect(tabControl1.SelectedIndex); //报错点就在这里?为什么
//Rectangle myTabRect = this.tabControl1.GetTabRect(tabControl1.SelectedIndex);
myTabRect.Offset(myTabRect.Width - (CLOSE_SIZE + 3), 2);
myTabRect.Width = CLOSE_SIZE;
myTabRect.Height = CLOSE_SIZE;
//如果鼠标在区域内就关闭选项卡
bool isClose = x > myTabRect.X
&& x < myTabRect.Right
&& y > myTabRect.Y
&& y < myTabRect.Bottom;
if (isClose)
{
tabControl1.TabPages.Remove(tabControl1.SelectedTab);
}
}
debug一下看看tabControl1.SelectedIndex是不是等于-1?