日期:2014-05-19  浏览次数:21122 次

选项卡控件,象傲游那样标签双击关闭是怎么实现的?
怎么捕捉双击标签头事件,或者说双击事件中怎么判断双击的是头?

谢谢各位了

------解决方案--------------------
判断点击的位置在控件里面的TOP值罗,如果0~多少的位置那么就是双击的标签头罗
------解决方案--------------------
通过坐标判断
------解决方案--------------------
换其他控件吧。
有专门的TAB控件可以使用
俺是使用Developer Express Inc.NET.v3
------解决方案--------------------
活动选项卡的索引不就是了?
------解决方案--------------------
TabControl的TabPage有DoubleClick事件的。
------解决方案--------------------
我用的dotnetbar
可以实现双击关闭
------解决方案--------------------
用javascript
ondbclick事件
捕捉当前tab index
设其属性style.display= 'none ';

------解决方案--------------------
private void tabcontrol_MouseDoubleClick(object sender, MouseEventArgs e)
{
TabControl tabControl1 = (TabControl)sender;
Point pt = new Point(e.X, e.Y);

for (int i = 0; i < tabControl1.TabCount; i++)
{
Rectangle recTab = tabControl.GetTabRect(i);
if (recTab.Contains(pt))
{
tabcontrol.tabpage.remove(rectab);
return;
}
}
}

随手写的代码,没注意大小写之类的,反正大概就这意思.
-----------------------
CSDN 论坛助手
http://china-csdn.cn
------解决方案--------------------
换个控件吧,用这个Infragistics NetAdvantage 2006 Volume 2 CLR 2.0
这个是dotnet2.0版的,里面有个Infragistics.Win.UltraWinTabControl.UltraTabControl控件,
它有个事件
private void RssTabControl_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (this.RssTabControl.SelectedTab.Key == "tab1 ") return;
this.RssTabControl.Tabs.Remove(this.RssTabControl.SelectedTab);
}
这样就行了。
------解决方案--------------------
可以用按钮冒充吗!?
------解决方案--------------------
如果是普通的DevExpress.XtraTab.XtraTabControl,可以使用类似下面的代码处理
private DevExpress.XtraTab.XtraTabPage CurrentPage=null;
private void xtraTabControl1_HotTrackedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
{
try
{
CurrentPage=e.Page;
}
catch (System.Exception ex)
{
CurrentPage=null;
}
}

private void xtraTabControl1_DoubleClick(object sender, System.EventArgs e)
{
if (CurrentPage!=null)
{
CurrentPage.PageVisible=false;
}
}