tabcontrol下有6个tabpage页,比如说当前页是tabpage2,只要用鼠标按住拖一下,当前页就变成了tabpage3或是其它的页面,可是我在正常windows下运行却不出这个问题,非常恼人。
我试过以下几个方法,都不管用:
把tabcontrol属性的locked的值设成true,不管用。
把tabpage属性的locked的值设成true,也不管用。
在tabpage里放入panel控件,也不管用。
后来我测试了一下wince6.0系统里面其它的带tabcontrol的程序,情况也是一样,只要用鼠标按住一拖,当前页就变成下一页了。这个问题头疼死人了。
上图大家帮分析分析:
3 个解决方案
#1
调试:断点设置tabControl1_DragDrop和tabControl1_SelectedIndexChanged,看看堆栈,中间经历了哪些过程。。。
#2
触摸屏不准?
#3
首先谢谢楼上两位大哥,经过一夜的思考,问题算是找到了一个解决办法:
//先设置一个变量,做为当前面值的参数;
int dangqianye = 0;
//加入一个定时器,interval值为100,这样就算是滑动改变了当前页,在0.1秒之内会自己动跳回来,当然时间
//可以设得更短,不过我觉得0.1秒够了。
private void timer5_Tick(object sender, EventArgs e)
{
tabControl1.SelectedIndex = dangqianye;
}
//用按扭来改变变量dangqianye的值,取代原来的直接对当前页赋值tabControl1.SelectedIndex = 1;
private void button19_Click(object sender, EventArgs e)
{
//tabControl1.SelectedIndex = 1;
dangqianye = 1;
}
意外收获:通过样的调整,发现按扭的响应速度比原来快了,不知道是不是心理作用。
//先设置一个变量,做为当前面值的参数;
int dangqianye = 0;
//加入一个定时器,interval值为100,这样就算是滑动改变了当前页,在0.1秒之内会自己动跳回来,当然时间
//可以设得更短,不过我觉得0.1秒够了。
private void timer5_Tick(object sender, EventArgs e)
{
tabControl1.SelectedIndex = dangqianye;
}
//用按扭来改变变量dangqianye的值,取代原来的直接对当前页赋值tabControl1.SelectedIndex = 1;
private void button19_Click(object sender, EventArgs e)
{
//tabControl1.SelectedIndex = 1;
dangqianye = 1;
}
意外收获:通过样的调整,发现按扭的响应速度比原来快了,不知道是不是心理作用。
#1
调试:断点设置tabControl1_DragDrop和tabControl1_SelectedIndexChanged,看看堆栈,中间经历了哪些过程。。。
#2
触摸屏不准?
#3
首先谢谢楼上两位大哥,经过一夜的思考,问题算是找到了一个解决办法:
//先设置一个变量,做为当前面值的参数;
int dangqianye = 0;
//加入一个定时器,interval值为100,这样就算是滑动改变了当前页,在0.1秒之内会自己动跳回来,当然时间
//可以设得更短,不过我觉得0.1秒够了。
private void timer5_Tick(object sender, EventArgs e)
{
tabControl1.SelectedIndex = dangqianye;
}
//用按扭来改变变量dangqianye的值,取代原来的直接对当前页赋值tabControl1.SelectedIndex = 1;
private void button19_Click(object sender, EventArgs e)
{
//tabControl1.SelectedIndex = 1;
dangqianye = 1;
}
意外收获:通过样的调整,发现按扭的响应速度比原来快了,不知道是不是心理作用。
//先设置一个变量,做为当前面值的参数;
int dangqianye = 0;
//加入一个定时器,interval值为100,这样就算是滑动改变了当前页,在0.1秒之内会自己动跳回来,当然时间
//可以设得更短,不过我觉得0.1秒够了。
private void timer5_Tick(object sender, EventArgs e)
{
tabControl1.SelectedIndex = dangqianye;
}
//用按扭来改变变量dangqianye的值,取代原来的直接对当前页赋值tabControl1.SelectedIndex = 1;
private void button19_Click(object sender, EventArgs e)
{
//tabControl1.SelectedIndex = 1;
dangqianye = 1;
}
意外收获:通过样的调整,发现按扭的响应速度比原来快了,不知道是不是心理作用。