博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#(winform)为button添加背景图片
阅读量:6240 次
发布时间:2019-06-22

本文共 1143 字,大约阅读时间需要 3 分钟。

1.既然是添加背景图片

    所以这里应该使用 Button.BackgroudImage = "" ;来设置图片

         而不应该使用  Button.Image = ""; 

   因为使用BackgroudImage来设置背景图片,我们还可以使用

    BackgroundImageLayout来调节图片,让图片更好的显示在button上

    通常使用:

技术分享
1 this.btnReset.BackgroundImage = global::Test.Properties.Resources.btn_reset_out;//设置图片的路径2             this.btnReset.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;//设置图片的显示模式,Stretch表示填满button,如果图片不够button大,就会拉伸图片
View Code

2.然后你就会看到尽管添加了背景图片,同时还设置好了拉伸图片,但是效果还是强差人意

   技术分享

   怎么会有个边框啊,这得有多难看啊,既然有边框,那就取消边框吧

   技术分享

     不过,没找到button的Border属性,但是找到了 FlatStyle属性(决定控件外观的一个属性),

     不管了,先逐个试试看有什么变化,最后Flat感觉比较符合我们的口味,

       技术分享

     那个给人感觉很厚的边框没有了,但是看起来仍然很不舒服,怎么还有一点白色的框框啊

     技术分享

     刚才一直找不到的Border属性,原来是藏在了 FlatAppearance下面了,直接BorderSize改成 0

     效果马上变成了如下:

        技术分享

      呵呵,那讨人厌的白色框框也不见了,整体看起来感觉舒服了好多啊,

     不过细心的你肯定也看到了,因为这个按钮的背景图片是圆角的,那四个边角上居然还有

     那冤魂不散的白色边框!!!!,运行起来的效果更明显,特别是当鼠标移进移出时:

     技术分享 and 技术分享

     左图是鼠标移入前,看起来很舒服;而右图是鼠标移进时,擦,四个边角,这太明显了,强迫症的我根本不能接受嘛!

     从一开始到现在折腾了那么久,眼看就要搞定的时候,居然还有这么一个小难题····难不成是微软的bug???

     最后发现还是我错了,解决的方法如下:

  技术分享

     还是在刚刚那个 FlatAppearance属性,不过这次改的是 MouseDownBackColor,MouseOverBackColor 都设置为 Transparent(透明色)

     当然最后还要设置一下

     this.btnReset.BackColor = System.Drawing.Color.Transparent;

转载于:https://www.cnblogs.com/zhangchenliang/p/4335372.html

你可能感兴趣的文章
烂泥:wiki系统confluence5.6.6安装、中文、破解及迁移
查看>>
BOM展开2
查看>>
Shell基础- 变量、判断、循环
查看>>
九月,我让她别搭理我
查看>>
Oracle 学习之性能优化(八)优化器
查看>>
修改ssh和ssl版本号 升级openssl
查看>>
kubernetes 拉取私有镜像 imagepullsecrets
查看>>
[转]数据交换指定实现无锁堆栈
查看>>
C语言:井字棋盘的实现
查看>>
RabbitMQ消息应答------ack机制
查看>>
我的友情链接
查看>>
IOS中的KVO机制详解
查看>>
关于未捕获异常(Uncaught Exception)的处理
查看>>
Windows2003下面文件夹带权限移动
查看>>
怎么样将自己开发的Android应用程序编译到系统Image中
查看>>
kali 安装完成后,无法进入界面
查看>>
TortoiseSvn问题汇总(持续更新)
查看>>
html5中的锚点特效
查看>>
我的友情链接
查看>>
超时机制的简单实现
查看>>