Dev控件 xtraTabControl

leeKitty 2014-12-16 09:56:58
xtraTabControl 如何遍历每个选项卡
TabControl中的 我会
Point pt = new Point(e.X, e.Y);
for (int i = 0; i < TabControl1.TabPages.Count; i++)
{
Rectangle recTab = TabControl1.GetTabRect(i);
if (recTab.Contains(pt))
this.xtraTabControl1.SelectedTabPageIndex = i;
}


在xtraTabControl中 没有GetTabRect方法
求大神指导 谢谢
...全文
365 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
leeKitty 2014-12-16
  • 打赏
  • 举报
回复
引用 5 楼 Yokeqi 的回复:
不懂的时候多到Dev官网查查。 XtraTabHitInfo hi = tabPositionControl.CalcHitInfo(new Point(e.X, e.Y)); if (hi.HitTest == XtraTabHitTest.PageHeader) { // 这段话就是根据坐标(x, y)判断是否点击了Tab Header。这个e.X跟e.Y可以从MouseMove事件参数e里面来这你应该知道吧? // 还可以通过XtraTabHitTest这个枚举值判断更多的情况。 }
额 不好意思 我没看到你的这条评论 谢谢 解决了
leeKitty 2014-12-16
  • 打赏
  • 举报
回复
引用 17 楼 wind_cloud2011 的回复:
private void xtraTabControl1_MouseMove(object sender, MouseEventArgs e) { XtraTabControl tabCtrl = sender as XtraTabControl; Point pt = MousePosition; XtraTabHitInfo info = tabCtrl.CalcHitInfo(tabCtrl.PointToClient(pt)); if (info.HitTest == XtraTabHitTest.PageHeader) { xtraTabControl1.SelectedTabPage = info.Page; } }
谢谢 好使了
wind_cloud2011 2014-12-16
  • 打赏
  • 举报
回复
private void xtraTabControl1_MouseMove(object sender, MouseEventArgs e) { XtraTabControl tabCtrl = sender as XtraTabControl; Point pt = MousePosition; XtraTabHitInfo info = tabCtrl.CalcHitInfo(tabCtrl.PointToClient(pt)); if (info.HitTest == XtraTabHitTest.PageHeader) { xtraTabControl1.SelectedTabPage = info.Page; } }
枫0子K 2014-12-16
  • 打赏
  • 举报
回复
引用 5 楼 Yokeqi 的回复:
不懂的时候多到Dev官网查查。 XtraTabHitInfo hi = tabPositionControl.CalcHitInfo(new Point(e.X, e.Y)); if (hi.HitTest == XtraTabHitTest.PageHeader) { // 这段话就是根据坐标(x, y)判断是否点击了Tab Header。这个e.X跟e.Y可以从MouseMove事件参数e里面来这你应该知道吧? // 还可以通过XtraTabHitTest这个枚举值判断更多的情况。 }
引用 4 楼 lkt19911025 的回复:
[quote=引用 3 楼 duanzi_peng 的回复:] 认真找找属性。

 foreach (DevExpress.XtraTab.XtraTabPage page in this.xtraTabControl1.TabPages)
            {

            }
mousemove事件 我利用Rectangle recTab = TabControl1.GetTabRect(i); 来获取当前鼠标经过的选项卡 从而实现鼠标经过时就自动切换选项卡 GetTabRect这个属性只在tabcontrol中有 在Dev控件xtraTabControl中没有这个属性 [/quote] 楼主你是伸手党吧,这次就满足下你,呵呵

private void ynXtraTabControl1_MouseMove(object sender, MouseEventArgs e)
{
    XtraTabHitInfo hi = ynXtraTabControl1.CalcHitInfo(new Point(e.X, e.Y));
    if (hi.HitTest == XtraTabHitTest.PageHeader)
    {
        ynXtraTabControl1.SelectedTabPage = hi.Page;
    }
}
这个是不是你要的?
wind_cloud2011 2014-12-16
  • 打赏
  • 举报
回复
http://www.devexpress.com/Support/Center/Question/Details/DQ8589
leeKitty 2014-12-16
  • 打赏
  • 举报
回复
有没有 大神啦 帮个忙呀
leeKitty 2014-12-16
  • 打赏
  • 举报
回复
引用 12 楼 wind_cloud2011 的回复:
leeKitty 2014-12-16
  • 打赏
  • 举报
回复
引用 9 楼 wind_cloud2011 的回复:
for (int i = 0; i < xtraTabControl1.TabPages.Count; i++) { this.xtraTabControl1.SelectedTabPageIndex = i; } 这样试试
谢谢 不用试呀 这样肯定不行呀 没有判断 他不是一直再循环 左后选到的选项卡总是最后一个吗 哈哈
leeKitty 2014-12-16
  • 打赏
  • 举报
回复
引用 7 楼 wind_cloud2011 的回复:
GetTabRect是TabControl里的方法,xtraTabControl 里没有
对的 所以 有没有其他方法解决
wind_cloud2011 2014-12-16
  • 打赏
  • 举报
回复
for (int i = 0; i < xtraTabControl1.TabPages.Count; i++) { this.xtraTabControl1.SelectedTabPageIndex = i; } 这样试试
leeKitty 2014-12-16
  • 打赏
  • 举报
回复
引用 6 楼 duanzi_peng 的回复:
[quote=引用 4 楼 lkt19911025 的回复:] [quote=引用 3 楼 duanzi_peng 的回复:] 认真找找属性。

 foreach (DevExpress.XtraTab.XtraTabPage page in this.xtraTabControl1.TabPages)
            {

            }
mousemove事件 我利用Rectangle recTab = TabControl1.GetTabRect(i); 来获取当前鼠标经过的选项卡 从而实现鼠标经过时就自动切换选项卡 GetTabRect这个属性只在tabcontrol中有 在Dev控件xtraTabControl中没有这个属性 [/quote] GetChildAtPoint[/quote] 可以详细下吗 谢谢 GetChildAtPoint貌似报错
wind_cloud2011 2014-12-16
  • 打赏
  • 举报
回复
GetTabRect是TabControl里的方法,xtraTabControl 里没有
exception92 2014-12-16
  • 打赏
  • 举报
回复
引用 4 楼 lkt19911025 的回复:
[quote=引用 3 楼 duanzi_peng 的回复:] 认真找找属性。

 foreach (DevExpress.XtraTab.XtraTabPage page in this.xtraTabControl1.TabPages)
            {

            }
mousemove事件 我利用Rectangle recTab = TabControl1.GetTabRect(i); 来获取当前鼠标经过的选项卡 从而实现鼠标经过时就自动切换选项卡 GetTabRect这个属性只在tabcontrol中有 在Dev控件xtraTabControl中没有这个属性 [/quote] GetChildAtPoint
枫0子K 2014-12-16
  • 打赏
  • 举报
回复
不懂的时候多到Dev官网查查。 XtraTabHitInfo hi = tabPositionControl.CalcHitInfo(new Point(e.X, e.Y)); if (hi.HitTest == XtraTabHitTest.PageHeader) { // 这段话就是根据坐标(x, y)判断是否点击了Tab Header。这个e.X跟e.Y可以从MouseMove事件参数e里面来这你应该知道吧? // 还可以通过XtraTabHitTest这个枚举值判断更多的情况。 }
leeKitty 2014-12-16
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
认真找找属性。

 foreach (DevExpress.XtraTab.XtraTabPage page in this.xtraTabControl1.TabPages)
            {

            }
mousemove事件 我利用Rectangle recTab = TabControl1.GetTabRect(i); 来获取当前鼠标经过的选项卡 从而实现鼠标经过时就自动切换选项卡 GetTabRect这个属性只在tabcontrol中有 在Dev控件xtraTabControl中没有这个属性
exception92 2014-12-16
  • 打赏
  • 举报
回复
认真找找属性。

 foreach (DevExpress.XtraTab.XtraTabPage page in this.xtraTabControl1.TabPages)
            {

            }
leeKitty 2014-12-16
  • 打赏
  • 举报
回复
引用 1 楼 Yokeqi 的回复:
foreach (XtraTabPage page in ynXtraTabControl1.TabPages) { page.Name = "Tab header"; }
谢谢你的回答 我这个是想是先 mousemove事件 当鼠标移入后获取选项卡 能解决吗
枫0子K 2014-12-16
  • 打赏
  • 举报
回复
foreach (XtraTabPage page in ynXtraTabControl1.TabPages) { page.Name = "Tab header"; }

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧