Modify Height for SideBarPanelItem (修改SideBarPanelItem高度)

原创 2015年11月19日 16:46:14

DotNetBar中有个SideBar边栏控件,由于项目的需要,修改SideBarPanelItem的高度,经过Google 百度后,没有得到满意的答案,不得已反编DotNetBar dll文件,经过一系列痛苦的查找,发现SideBarPanelItem只能通过image的大小自动设置高度,而没有提供可修改高度的方法或属性,仔细翻看代码后发现,SideBarPanelItem的高度主要由私有变量rectangle_2控制,而rectangle_2的Height是由变量int_8的值计算而来…

这里写图片描述

不过还是有希望了,既然不允许修改高度,那我就走偏门的方法,用反射解决问题,改它私有变量的值,GetField(“int_8”),尝试多次,总是没有获得int_8的值,于是使用GetFields查看到底有些什么字段,查看后才恍然大悟,DotNetBar dll是经过混淆处理的,变量名早已不是int_8了,通过对混淆前和混淆后的代码比对,发现int_8已经用奇葩符号Ꮫ代替了,然后有了以下的解决方法:

 FieldInfo field = typeof(SideBarPanelItem).GetField("Ꮫ",
                         BindingFlags.NonPublic |
                         BindingFlags.Instance);
            foreach (var item in sideBar1.Panels)
            {
                field.SetValue(item, 20);
            }

这里写图片描述

完美解决,运行后效果:

这里写图片描述

DotNetBar dll版本信息:

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android类似ios的SideBar字母在屏幕中间,动态设置之母数量

按照项目要求我们做的类似通讯录效果是这样的: 然后根据这样来开发,当时找了好多代码,看到的只是一个版本的代码。自己就在其基础上修改了代码。正好这边记录一下。

Android控件--侧边栏SideBar

说明 很多应用中我们都能看到关于侧边栏的使用,比如微信啊,QQ啊,美团啊等等,最常见的应该就是通讯录里面对联系人进行A~Z的排序。侧边栏主要是方便用户进行字母索引。今天实现的控件效果如下图所示: ...

取框架/body的高度height

让高度百分比,height:100% 生效的3种方法

核心原理; height:100%这个概念是子节点相对于父容器而言;所以要让此属性生效,必要的一点就是:父容器必须具有具体的高度信息; 直接在的子节点(如div中)写height:100%是不会生效的...

VB长度宽度高度单位,width,scaleWidth,Height,scaleHeight,scaleMode

如何理解VB窗体中的scale类属性及width height属性之间的关系     VB中的SCALEHIEGT,SCALEWIDTH,与窗体中的WIDTH,HEIGHT的区别及关系是许多VB初学...

div等元素height:100%高度为什么不生效

以前一直很郁闷一个问题,为什么设置height:100%不生效,尤其是设置body:height:100%不生效,后来就很少使用了这个了。今天在学习谷歌地图时关于height:100%看到了解答: ...

Equal Height Blocks in Rows(统一行中的块的高度)

原文地址:http://css-tricks.com/equal-height-blocks-in-rows/ 通过使用jQuery,有很多方法可以将多个列调整为同一高度(比如Rob Glazebro...
  • gengv
  • gengv
  • 2011-02-01 11:44
  • 1262
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)