用tabcontrol.SelectedTab只能读出当前正在使用的tabpage,而使用SelectIndexChanged命令呢只能在切换tabpage选项卡的时候读出选项卡tabpage的信息。
    左键单击可以激活某个tabpage,但是右击却没有办法。那么我们怎么设计才能让右击也能获得tabpage信息呢?可以利用下面代码:

        private void tabControl1_MouseDown(object sender, MouseEventArgs e)
        
{
            
if (e.Button == MouseButtons.Right)
            
{
                
this.textBox1.Text = "";
                Point pt 
= new Point(e.X, e.Y);
                Rectangle recTab 
= new Rectangle();
                
for (int i = 0; i < tabControl1.TabCount; i++)
                
{
                    
this.textBox1.Text += "控件" + i + ":\r\n";
                    recTab 
= tabControl1.GetTabRect(i);
                    
this.textBox1.Text += recTab.ToString() + "\r\n";
                    
if (recTab.Contains(pt))
                        
this.textBox1.Text += pt.ToString() + "属于" + "控件" + i + "" + recTab.ToString() + "\r\n\r\n";
                }

            }

        }
    代码主要是获得了右击时的坐标,然后获得每个tabpage的矩阵大小,然后判断右击坐标是否在矩阵内来确定右击的是哪个tabpage。

Copyright © 2024 Samson小天
Powered by .NET 8.0 on Kubernetes