C#(winform)为button添加背景图片

摘要:
,运行起来的效果更明显,特别是当鼠标移进移出时:and左图是鼠标移入前,看起来很舒服;而右图是鼠标移进时,擦,四个边角,这太明显了,强迫症的我根本不能接受嘛!从一开始到现在折腾了那么久,眼看就要搞定的时候,居然还有这么一个小难题····难不成是微软的bug???

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

1.既然是添加背景图片

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

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

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

BackgroundImageLayout来调节图片,让图片更好的显示在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;

免责声明:文章转载自《C#(winform)为button添加背景图片》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PostgreSQL操作-psql基本命令HBase ProcedureV2 分析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android框架式编程之BufferKnife

BufferKnife作为框架式编程的重要组成部分,使用BufferKnife能够极大的精简View层面的代码量,并为MVP/MVC方式提供辅助。 一、配置 compile 'com.jakewharton:butterknife:(insert latest version)' annotationProcessor 'com.jakewharton:...

ajax页面刷新小错误(提交按钮type必须为button,而不能是submit)

背景:   使用ajax提交form表单时,提交按钮的type值写为了submit,导致ajax中回调函数中的提示信息toastr.success('提交数据成功');没有执行,只执行了alert语句 ,就算toastr提示语句在alert前面写着也不执行。    function add_smoke() { $.ajax({...

Xcode 6 AutoLayout Size Classes

1、基本概念 在iPad和iPhone 5出现之前,iOS设备就唯独一种尺寸。 我们在做屏幕适配时须要考虑的唯独设备方向而已。 而非常多应用并不支持转向,这种话就全然没有屏幕适配的工作了。 随着iPad和iPhone 5。以及接下来的iPhone 6的推出,屏幕尺寸也变成了须要考虑的对象。在iOS7之前,为一个应用。特别是universal的应用制作U...

深入理解信号槽机制(一)(大局观,讲的不错)

这篇文章来自于 A Deeper Look at Signals and Slots,Scott Collins 2005.12.19。需要说明的是,我们这里所说的“信号槽”不仅仅是指 Qt 库里面的信号槽,而是站在一个全局的高度,从系统的角度来理解信号槽。所以在这篇文章中,Qt 信号槽仅仅作为一种实现来介绍,我们还将介绍另外一种信号槽的实现——boost...

Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader

前文介绍了Winform为DataGridView提供的数据自动绑定功能,下面介绍一下采用代码的数据绑定 1、用DataSet和DataTable为DataGridView提供数据源 先上代码 private void Form1_Load(objectsender, EventArgs e) { String st...

swing界面刷新问题

在Java Swing编程中,往往会遇到需要动态刷新界面的时候,例如动态刷新JLabel的文本,JTextField里的文本等等。但是往往却没有达到我们预期的效果,我相信很多朋友都遇到过本文将要说的这个问题。 如下图的Swing界面中,我们期望在点击按钮时,Jlabel和JTextField里的文本能不断的变化,并实时地显示出来。 这个例子中,我们期望点...