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

推荐订阅源

V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
V
V2EX
B
Blog RSS Feed
有赞技术团队
有赞技术团队
博客园 - Franky
美团技术团队
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
云风的 BLOG
云风的 BLOG
L
LangChain Blog
GbyAI
GbyAI
The Cloudflare Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Check Point Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
博客园 - 【当耐特】
The Register - Security
The Register - Security
大猫的无限游戏
大猫的无限游戏
D
Docker
Vercel News
Vercel News
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
N
Netflix TechBlog - Medium
博客园_首页
A
About on SuperTechFans
J
Java Code Geeks
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Recent Announcements
Recent Announcements
G
Google Developers Blog
小众软件
小众软件
博客园 - 叶小钗
WordPress大学
WordPress大学
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
F
Full Disclosure
Jina AI
Jina AI
H
Help Net Security

博客园 - 蒋雷军

在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

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