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

推荐订阅源

S
Schneier on Security
P
Proofpoint News Feed
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
博客园 - Franky
V
V2EX
爱范儿
爱范儿
J
Java Code Geeks
小众软件
小众软件
Last Week in AI
Last Week in AI
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
酷 壳 – CoolShell
酷 壳 – CoolShell
The Register - Security
The Register - Security
GbyAI
GbyAI
Vercel News
Vercel News
Y
Y Combinator Blog
腾讯CDC
F
Fortinet All Blogs
I
InfoQ
N
Netflix TechBlog - Medium
B
Blog RSS Feed
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
量子位
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
Scott Helme
Scott Helme
T
Tor Project blog
U
Unit 42
Google Online Security Blog
Google Online Security Blog
PCI Perspectives
PCI Perspectives
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
NISL@THU
NISL@THU
D
Darknet – Hacking Tools, Hacker News & Cyber Security
aimingoo的专栏
aimingoo的专栏
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Stack Overflow Blog
Stack Overflow Blog
Security Archives - TechRepublic
Security Archives - TechRepublic

博客园 - thanks

05. 搅拌站ERP系统 — 术语解析与技术备注 03. 搅拌站ERP系统 — 数据库表字段详解与示例数据 04. 搅拌站ERP系统 — 模块业务详解 02. 搅拌站ERP系统 — 核心业务流程 01. 搅拌站ERP系统 — 系统总览与架构 07-紧固件MES系统 — 中小企业实施部署指南 06-紧固件MES系统 — 术语与名词解析 05-紧固件MES系统 — 推荐技术架构与智能制造方案 04-紧固件MES系统 — 重构建议与待开发分析 03-紧固件MES系统 — 模块业务详解 02-紧固件MES系统 — 核心业务流程 01-紧固件MES系统 — 系统总览与架构 VsCode+DeepSeek的AI编程助手初体验 [大数据][机器学习]之Model Card(模型卡片)介绍 Bond——大数据时代的数据交换和存储格式 Spark中的那些坑... 为啥就业这么难——聊聊我在培训机构的所见所闻 微软外服工作札记③——窗口函数的介绍 微软外服工作札记②——聊聊微软的知识管理服务平台和一些编程风格 【非技术】试占12月10日后会发生什么 聊聊我在微软外服大数据分析部门的工作经历及一些个人见解 SAAS云平台搭建札记: (四) AntD For React使用react-router-dom路由接收不同参数页面不刷新的问题 [工作札记]02: .Net Winform控件TreeView最简递归绑定方法 SAAS云平台搭建札记: (三) AntDesign + .Net Core WebAPI权限控制、动态菜单的生成 [工作札记]01: CS系统中分页控件的制作 【非技术】试占新型肺炎的情况与发展趋势 给培训学校讲解ORM框架的课件 SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建 SAAS云平台搭建札记: (一) 浅论SAAS多租户自助云服务平台的产品、服务和订单 开源三维地球GIS引擎Cesium常用功能的开发 Asp.net管理信息系统中数据统计功能的实现
[工作札记]03: 微软Winform窗体中设计上的Bug,会导致程序编译失败,影响范围:到最新的.net4.7.2都有
thanks · 2021-01-20 · via 博客园 - thanks

工作中,我们发现了微软.net WinForm的一个Bug,会导致窗体设计器自动生成的代码失效,这个Bug从.net2.0到最新的.net4.7.2都存在,一直没有解决。最初是我在教学工作中发现的,后来工作的时候该Bug也常现。

  • 重现步骤:

  使用VisualStudio2013/2015/2017/2019创建一个新的Windows窗体程序(使用C#或者VB.net都可以)

  新建的默认空白的窗体程序,点击运行,可以正常运行:

  这时,我们往窗体拖一个ListView控件,手动添加两列,名称分别为Id/编号、Name/姓名:

  运行程序,报错:

  点击错误详情,他给出提示让人丈二金刚摸不着头脑,姑且认为窗体自动生成的代码有误,删除该行,程序正常运行:

  可是,一旦对窗体的任何控件进行更改(调整窗体大小,修改窗体属性等),又会导致编译无法通过:

只好再进设计器代码,删除出错的行。  

该Bug在DataGridView中也同样出现:

解决方法:

  1. 联系微软在下个版本中修正Bug;
  2. 不使用Name作为表格列的名称。

题外话:

  微软在给我们带来便利的同时,也带给我们很多的麻烦:)

--------------------------------------------------------------------------------------------------------------------------------------------------------------- 

Bug Part 2:

我们在相同的地方,给Windows控件的Name属性赋值

1.给窗体控件赋值为Name,编译、运行能够通过:

运行程序,一切正常:

给DataGridView控件赋值,编译,报错了:

2. 感谢Build_Werther提供的情况,这回,我们在相同的地方,把窗体的Name设置成为Program,编译,报错:

我们把DataGridView命名为Program,编译、运行、一切正常:

好,同样都是Windows控件,在同样的地方设置属性,连提示都一样的:“指示代码中用来标识该对象的名称”。一个能用,一个不能用,换一个名字,前面的不能用,后面的又能用了,你说这不是Bug,不是设计上的问题吗?

——“这有两根金条,你告诉我,哪根是高尚的?哪根是龌龊的?”

.net工作札记系列:

[工作札记]01: CS系统中分页控件的制作

[工作札记]02: .Net Winform控件TreeView最简递归绑定方法

[工作札记]03: 微软Winform窗体中设计上的Bug,会导致程序编译失败,影响范围:到最新的.net4.7.2都有