DevComponents.DotNetBar.RibbonControl 的显示顺序问题

问题描述

publicvoidAddPages(){//约定菜单共有3级别,第一级为大类,第二级为模块,第三级为菜单//添加第一级List<MenuNodeInfo>menuList=getinfo();if(menuList.Count==0)return;inti=0;foreach(MenuNodeInfofirstInfoinmenuList){//添加一级菜单RibbonTabItemtab=newRibbonTabItem();tab.Text=firstInfo.Name;tab.Name=firstInfo.Id;RibbonPanelrp=newRibbonPanel();tab.Panel=rp;rp.Dock=DockStyle.Fill;control.Controls.Add(rp);control.Items.Add(tab,i);if(firstInfo.Children.Count==0)continue;foreach(MenuNodeInfosecondInfoinfirstInfo.Children){RibbonBarrb=newRibbonBar();rb.Text=secondInfo.Name;if(secondInfo.Children.Count==0)continue;intj=0;foreach(MenuNodeInfothirdInfoinsecondInfo.Children){ButtonItembi=newButtonItem();bi.Name=thirdInfo.Id;bi.Text=thirdInfo.Name;bi.Image=thirdInfo.Image;bi.ImagePosition=eImagePosition.Top;bi.Command=com;rb.Items.Add(bi,j);j++;}rp.Controls.Add(rb);}i++;}}publicList<MenuNodeInfo>getinfo(){List<MenuNodeInfo>list=newList<MenuNodeInfo>();#region//第3级#region00MenuNodeInfoinfo_001=newMenuNodeInfo();info_001.Id="A1";info_001.Name="A1";info_001.Image=Properties.Resources.NewDocument;MenuNodeInfoinfo_002=newMenuNodeInfo();info_002.Id="A2";info_002.Name="A2";info_002.Image=Properties.Resources.NewDocument;//第二级List<MenuNodeInfo>list_00=newList<MenuNodeInfo>();list_00.Add(info_001);list_00.Add(info_002);MenuNodeInfoinfo_00=newMenuNodeInfo();info_00.Id="A";info_00.Name="A";info_00.Image=Properties.Resources.NewDocument;info_00.Children=list_00;#endregion#region01//第3级MenuNodeInfoinfo_010=newMenuNodeInfo();info_010.Id="B1";info_010.Name="B1";info_010.Image=Properties.Resources.NewDocument;MenuNodeInfoinfo_011=newMenuNodeInfo();info_011.Id="B2";info_011.Name="B2";info_011.Image=Properties.Resources.NewDocument;//第二级List<MenuNodeInfo>list_01=newList<MenuNodeInfo>();list_01.Add(info_010);list_01.Add(info_011);MenuNodeInfoinfo_01=newMenuNodeInfo();info_01.Id="B";info_01.Name="B";info_01.Image=Properties.Resources.NewDocument;info_01.Children=list_01;#endregion#region02//第3级MenuNodeInfoinfo_020=newMenuNodeInfo();info_020.Id="C1";info_020.Name="C1";info_020.Image=Properties.Resources.NewDocument;MenuNodeInfoinfo_021=newMenuNodeInfo();info_021.Id="C2";info_021.Name="C2";info_021.Image=Properties.Resources.NewDocument;MenuNodeInfoinfo_022=newMenuNodeInfo();info_022.Id="C3";info_022.Name="C3";info_022.Image=Properties.Resources.NewDocument;//第二级List<MenuNodeInfo>list_02=newList<MenuNodeInfo>();list_02.Add(info_020);list_02.Add(info_021);list_02.Add(info_022);MenuNodeInfoinfo_02=newMenuNodeInfo();info_02.Id="C";info_02.Name="C";info_02.Image=Properties.Resources.NewDocument;info_02.Children=list_02;#endregion#region03//第3级MenuNodeInfoinfo_030=newMenuNodeInfo();info_030.Id="D1";info_030.Name="D1";info_030.Image=Properties.Resources.NewDocument;MenuNodeInfoinfo_031=newMenuNodeInfo();info_031.Id="D2";info_031.Name="D2";info_031.Image=Properties.Resources.NewDocument;//第二级List<MenuNodeInfo>list_03=newList<MenuNodeInfo>();list_03.Add(info_030);list_03.Add(info_031);MenuNodeInfoinfo_03=newMenuNodeInfo();info_03.Id="D";info_03.Name="D";info_03.Image=Properties.Resources.NewDocument;info_03.Children=list_03;#endregion//第一级List<MenuNodeInfo>list_0=newList<MenuNodeInfo>();list_0.Add(info_03);//Dlist_0.Add(info_02);//Clist_0.Add(info_01);//Blist_0.Add(info_00);//AMenuNodeInfoinfo_0=newMenuNodeInfo();info_0.Id="0";info_0.Name="菜单";info_0.Image=Properties.Resources.NewDocument;info_0.Children=list_0;#endregionlist.Add(info_0);returnlist;}

我想让他按照ABCD排序不是这样乱的排序有没有人知道办法的?

解决方案

解决方案二:
你先看下getinfo()这个方法返回的list顺序,然后再看AddPages()方法里面是否按照顺序添加的。
解决方案三:
是按照顺序添加的代码已经贴出但是出来的不是按照顺序出来的
解决方案四:
没有人吗自己顶起来
解决方案五:
好像有个visibleIndex属性找找看
解决方案六:
intpageCount=4;intzuCount=9;//页签数量和组数量for(intx=0;x<pageCount;x++){RibbonPanelpage=newRibbonPanel(){Dock=System.Windows.Forms.DockStyle.Fill,Padding=newSystem.Windows.Forms.Padding(3,0,3,3)};//页签RibbonTabItempageTitle=newRibbonTabItem(){Panel=page,Name="tab"+x.ToString(),Text="页签"+x.ToString()};//页标题ribbonControl1.Controls.Add(page);ribbonControl1.Items.AddRange(newBaseItem[]{pageTitle});pageTitle.Checked=x==0?true:false;Control[]zuList=newRibbonBar[zuCount];//生成组for(inty=0;y<zuCount;y++){RibbonBarzu=newRibbonBar(){Dock=System.Windows.Forms.DockStyle.Left,Name="zu"+x.ToString(),Text=""+x.ToString()+""+y.ToString()};zu.Location=newSystem.Drawing.Point(y*100+3,0);zu.Size=newSystem.Drawing.Size(200,95);for(intz=0;z<2;z++){ButtonItembtn=newButtonItem(){Name=Text="btn"+x.ToString()+y.ToString()+z.ToString(),Text=""+x.ToString()+y.ToString()+z.ToString()};//生成按钮zu.Items.Insert(z,btn);}zuList[y]=zu;}page.Controls.AddRange(zuList);}

时间: 2024-09-15 21:32:37

DevComponents.DotNetBar.RibbonControl 的显示顺序问题的相关文章

Firefox如何调整搜索框中搜索引擎的显示顺序

Firefox调整搜索框中搜索引擎的显示顺序方法如下: 1. 在地址栏输入about:config 2. 在过滤器中输入browser.search.order 3. 根据需要设置搜索引擎的顺序,例如要把Google设置为第一,就将browser.search.order.1 设置其值为Google

mysql-MySQL内连接查询结果的显示顺序

问题描述 MySQL内连接查询结果的显示顺序 表fruits的字段f_id为primary key 表suppliers的字段s_id为primary key与fruits的s_id有相同的数据类型 然后使用这句查询语句: 1.select suppliers.s_id,s_name,f_name,f_price from suppliers inner join fruits on suppliers.s_id=fruits.s_id; 查询的都结果显示如下: 2.变换表的位置再查询: sel

惊云JS随机排序程序随机显示信息-每次新闻显示顺序都不一样_javascript技巧

惊云JS随机排序程序随机显示信息-每次新闻显示顺序都不一样 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

SpriteBuilder中同父节点的显示顺序

如下图: 到目前为止,GameScene依赖于节点在SpriteBuilder中的顺序去决定其绘制的顺序. level content(_levelNode)被首先绘制,然后GameMenuLayer被画在前者的上面. 不管如何,现在你在代码中删除了_levelNode,然后加载了一个新的并且把它作为GameScene的一个孩子添加进来.添加一个节点将总是将其放在绘制列表的最后面. 因此,绘制顺序现在反转了,所以你不再能看到pause按钮了(其在GameMenuLayer层上). 为了修复这个问

如何通过css控制内容显示顺序 第二行的内容优先显示

我们有时进行网页设计时为了想让用户感兴趣的内容优先显示在前,又不想改动代码的先后顺序,要怎么操作呢?(或者换种说法:源代码中要先看到A再看到B,而视觉上是先B再A)举个简单的例子,想让第二行的内容在不改动代码的情况在视觉上显示在第一行.如图,左图是正常显示,想让它们对换一下顺序,像右图一样展示出来.   我们可以通过div+css的形式来定义 css中position的absolute(绝对)和relative(相对)两个参数,我们将上面右图的css作如下定义: .bock1 { width:3

页面图层显示顺序

惯例: 我是温浩然: 今天遇到了一种这样的情况.如图下: 这是两个图层,在图层1中,点击某个按钮,会在上面覆盖图层2,结果,图层2在图层1下面了. 原因是由于这个属性: style="z-index:XXX" 可以找一下z-index:这个属性看一下.数值越大,图层越往上.我这里是由于用的封装好的框架,导致显示不正确, 这里需要在图层2的<div></div>中,设置这个属性,可以设置成最大9999,就可以了,要么就改源码,因为该源码太麻烦了,这是最简单的方法.

android 如何调整状态栏icon之间的显示顺序

需要在alps/frameworks/base/res/res/values/config.xml 中的config_statusBarIcons调整相应的顺序,其中从上倒下,对应的状态栏的顺序为从左到右. 注意:ICS版本的状态栏布局中,将信号图标和电量图标布局到同一个linearlayout,因此如果要调整这两个图标彼此之间的顺序,需要在status_bar.xml中修改他们声明的先后顺序

DevComponents.DotNetBar.TabStrip问题,跪求

问题描述 使用控件,左上角出现多余的一条,不知道怎么回事,希望用过的朋友给指点,分不多,谢谢了 解决方案 解决方案二:自己顶,希望快点解决解决方案三:我是菜鸟,大婶快来解决方案四:放一个dotNetBarManager,把其属性ModiSystemItemVisible设置成false即可解决方案五:同求啊楼主解决了吗

DevComponents DotNetBar ExplorerBarGroupItem的使用问题

问题描述 如图,我有两个个疑问.1.在父节点下添加了一个子节点,然后我再在子节点下添加子节点时不会显示出来了是什么问题.可以看到子节点的集合里面是有数据的,只是没显示出来.2.如何通过动态添加给父节点添加数据求论坛大神指教. 解决方案 解决方案二:看看解决方案三:demo是没有,就是用到这控件的时候直接手动添加进去都不行,所以没有写代码.是这个控件只能嵌套两层ExplorerBarGroupItem还是说有个什么属性控制了.至今还是没有搞清楚