Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12876819
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类: C#/.net

2013-05-07 11:37:44

1、创建窗体控件类工程

image

 

image

图 创建资源文件


 

2、设计器拖拉基本控件和设置属性

image 图 添加layout

 

 

image

图 添加button 和 label

 

 

image

图 设置layout的行为自动调整大小

 

 

 

image

image

 

image

    注意! 这里的button和label的Dock、tableLayoutPanel1 的属性都要设计为Fill。并且label的TextAlign要设置为MiddleCenter。

 

 

3、设置tableLayoutPanel1、UserControl1的BackColor为Transparent。

    并且设置button的FlatAppearance中的FlatStyle为Flat。

 

image



4、添加资源文件到button的BackgroudImageLayout

image

    将BackgroudImageLayout属性设置为 Zoom。注意,这里不要使用Button的Image属性,这个属性是无法使图片填充到Button中去的。

image image

    这里拖动UserControl1,可以将自定义控件随意放大缩小,而图片与文字照样存在。这个功能能适应一般的应用场合了。

 

5、生成的DLL文件

image

6、源工程代码

CCustomButton.zip


    后记:
           

            使用这个自定义控件,就可以实现一种应用:使用button来显示图片,label来显示文字。而不会出现在button中同时填充图片、文字造成的重叠性问题。

阅读(4993) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~