惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Martin Fowler
Martin Fowler
Last Week in AI
Last Week in AI
罗磊的独立博客
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
V
Visual Studio Blog
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
博客园_首页
人人都是产品经理
人人都是产品经理
量子位
美团技术团队
The Cloudflare Blog
小众软件
小众软件
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
D
DataBreaches.Net
博客园 - Franky

博客园 - 蒋雷军

在2015中使用V12版本的ReportView控件,会导致winform窗体不能正常打开 小心DriveInfo类IsReady属性的较大延迟问题 Overloads和Overrides在元属性继承上的特性 如何使rdlc报表的表头在每一页都显示 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型,原因为没有注册类 引用账户当前已锁定,且可能无法登录”--问题的解决方法(转载) win7访问windows server 2003服务器出现未知的用户名或者错误的密码(转载) NewRowNeeded和UserAddedRow事件以及RowsAdded的区别使用 TabControl控件中TabPage的显示和隐藏 参数计数不匹配,未处理System.Reflection.TargetParameterCountException 如何使一个你没有源代码的DLL文件变为强命名的DLL Windows 7如何限制运行特定的应用程序(转载) 怎么通过应用程序控制策略限制软件运行?(转载) 32位程序在64位电脑下运行, 如何让圆珠笔起死回生 密度采集调整 MIME类型大全 C# 构造函数如何调用父类构造函数或其他构造函数 结合RibbonControl设计MDI窗体,在子窗体关闭后,顶部显示额外的控制栏残影
设定了自定义属性,来控制控件的宽度或高度,但数据会不正常
蒋雷军 · 2015-01-14 · via 博客园 - 蒋雷军

虽然设定了某一个数值,但老是自动变为另一个数值

,如,宽度设置为100,但运行或重新打开窗体设计界面,宽度自动变为133,如多打开几次,甚至会越变越大,寻找很久,也找不到原因,在多次尝试后,才发现原因

之前为省事,在设置自定义属性时,使用如下格式:

  1. <Category("MAX Member")> _
  2. Public Property mShowControlLength As Integer
  3. Get
  4. Return xShow.Width
  5. End Get
  6. Set(value As Integer)
  7. xShow.Width = value
  8. End Set
  9. End Property

从理论上来说,没有任何问题,但是就是会造成这个值不能固定,甚至越变越大,后来改成如下格式,终于固定:

  1. <Category("MAX Member")> _
  2. Public Property mShowWidth As Integer
  3. Get
  4. Return _showWidth        ‘使用自定义的变量来输出设定值
  5. End Get
  6. Set(value As Integer)
  7. _showWidth = value
  8. xShow.Width = _showWidth
  9. If (Me.DesignMode) Then
  10. xItemPanel.Refresh()
  11. End If
  12. End Set
  13. End Property

​原因分析,由于控件中的控件本身并不存储设定值,那么在获取宽度时,是程序根据当时情况计算得到的,计算时的宽度是无法预计的,所以会显示为随机变大的值,然后,再根据此值保存为设置值。就发生了这种情况,吸取这次教训,不要再犯