1. 主页 > 好文章

VS2010控件添加快速入门:Windows窗体开发必备技巧

(场景开场)凌晨三点,你盯着VS2010工具箱里密密麻麻的控件图标,鼠标在Button和Label之间来回颤抖——明天就要交的库存管理系统,那个见鬼的数据录入界面死活显示不出数据库内容...停!别砸键盘!今天咱们就用开药方的方式,专治这种控件添加疑难杂症。

急诊室:控件失踪案发现场

(问题场景)刚从工具箱拖了个DataGridView到窗体,运行时却只剩个空白方框?八成是??没绑定数据源??。赶紧右击控件→选择数据源→新建对象数据源,这里有个隐藏操作:??先创建实体类再绑定??才是正确姿势。上次我跳过了这步,结果调试到天亮...

图1:数据源配置向导的正确路径

手术台:动态控件生死时速

(实战场景)需要在点击按钮时动态生成TextBox?别急着写new TextBox()!先按住Ctrl把工具箱里的TextBox拖到窗体角落??创建模板控件??,设置Visible=false。这样既保留设计属性,又能用Controls.Add()动态克隆。这招救过三个毕业设计项目!

图2:隐藏模板控件的摆放位置

解剖室:布局失控真相揭秘

(典型场景)明明用TableLayoutPanel布局了,换个分辨率就乱成一锅粥?记住三个救命锚点:

  1. ??Dock属性??别设Fill!优先用Anchor定位
  2. 控件间距用??Margin值??控制,别手拖蓝线
  3. 高分屏适配要开??AutoScaleMode = Dpi??

图3:属性窗口关键设置项

控件性能对照表

控件类型内存消耗使用禁忌
DataGridView万级数据量慎用
ListBox实时搜索需虚拟化
Panel嵌套层级别超3层

门诊答疑

Q:为什么TreeView节点图标不显示?
A:ImageList的图像尺寸必须和Node的ImageIndex对齐,用16x16最保险

Q:自定义控件添加到窗体就报错?
A:先编译生成一次DLL,再右击工具箱选"选择项"手动添加

Q:第三方控件安装后找不到?
A:以管理员身份运行VS2010再执行安装程序,系统盘权限问题害死人

小编观点:控件开发就像拼高达模型——说明书(属性说明)要逐字看,水口(事件绑定)要处理干净,关节部位(布局容器)必须加固。记住两不原则:不迷信拖拽生成、不畏惧手动编码。下次遇到控件异常,先右击"查看代码",比瞎点属性管用十倍!

本文由嘻道妙招独家原创,未经允许,严禁转载