winform我想要第一次点击TabControl控件的某一个TabPage 时发生事件怎么办
麻烦各位了呀看清楚了哦,是第一次点击TabPage时发生下一次点击同样的TabPage时就不发生了,只在第一次点击的时候。我知道SelectedIndexChanged这...
麻烦各位了呀
看清楚了哦,是第一次点击TabPage 时发生
下一次点击同样的TabPage时就不发生了,只在第一次点击的时候。
我知道SelectedIndexChanged 这个
但是这个每次点击的时候,都会重新读取。。影响速度呀
所以我想第一次的时候执行,之后再点的时候就不用再去读取了 展开
看清楚了哦,是第一次点击TabPage 时发生
下一次点击同样的TabPage时就不发生了,只在第一次点击的时候。
我知道SelectedIndexChanged 这个
但是这个每次点击的时候,都会重新读取。。影响速度呀
所以我想第一次的时候执行,之后再点的时候就不用再去读取了 展开
3个回答
展开全部
bool[] m_pageFlag;//定义标志位数组
private void Form1_Load(object sender, EventArgs e)
{
m_pageFlag = new bool[tabControl1.TabPages.Count]; //根据tabpage个数初始化标志位数组
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (m_pageFlag[((TabControl)sender).SelectedIndex] == true)//判断标志位是否被置成true
return;
m_pageFlag[((TabControl)sender).SelectedIndex] = true;
}
private void Form1_Load(object sender, EventArgs e)
{
m_pageFlag = new bool[tabControl1.TabPages.Count]; //根据tabpage个数初始化标志位数组
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (m_pageFlag[((TabControl)sender).SelectedIndex] == true)//判断标志位是否被置成true
return;
m_pageFlag[((TabControl)sender).SelectedIndex] = true;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样可以不?
tabPage1.Click += new EventHandler(tabPage1_Click);
void tabPage1_Click(object sender, EventArgs e)
{
label1.Text = DateTime.Now.ToString();
tabPage1.Click -= tabPage1_Click; //单击事件自注销
}
tabPage1.Click += new EventHandler(tabPage1_Click);
void tabPage1_Click(object sender, EventArgs e)
{
label1.Text = DateTime.Now.ToString();
tabPage1.Click -= tabPage1_Click; //单击事件自注销
}
更多追问追答
追问
朋友呀,原谅我这个菜鸟,你可以注释下,稍微解释是什么意思吗?
追答
不是想只在第一次点击你的TabPage起作用吗?就用TabPage的单击事件,先做你要做的事情,做完了注销掉,这样单击事件就只在第一次执行有效(第一次执行完注销掉后,以后单击就不会再响应了)。刚测试过,可以实现的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询