系统给的窗体样式都缺乏美感,想要漂亮的UI只能自己做,很容易实现

1.新建窗体,设置FormBorder为None

这时的窗体就只有一个Panel(Form自带的默认Panel),没有边框,没有标题栏(控制按钮)

2.拖入一个Panel覆盖在默认Panel上面【这一步非常必要】

这时的窗体和第一步得到的窗体外观上没有任何区别

至于为什么要这么做,因为:如果不这么做,窗体四周会有几条白边,尤其是右边和下边,一定会有宽度为4像素的白边,添加一个Panel覆盖在上面就不会有白边的问题了

3.设置Panel的背景图片

这里需要注意的是:如果背景图片中存在透明像素点,一定要设置Panel的BackColor为TransparentKey,否则会存在黑边问题

4.绘制自定义控件,添加至Panel

Button什么的可以自己绘制,也可以去找开源控件,比如“水晶按钮”

5.如果这样的UI还不能满足项目需求,可以搜索“半透明窗体”、“不规则形状窗体”、“圆形按钮”之类的,具体做法不在这里详述

-------

自定义UI到这里就完成了,重申一下白边的问题

什么情况下会出现白边?

直接设置无边框窗体的BackgroundImage,背景图片四周一定会出现白边,就像这样:

周围这一圈白边破坏了整个窗体的美感,给人一种很厚重的感觉,而好的UI,像QQ的窗体,给人一种很轻的感觉,看着很舒服

按照上面的方法去掉白边之后,窗体就变成这样了:

现在看着舒服多了吧,当然,这里还用了圆角矩形窗体,看着比较带感

圆角矩形不难实现,重写窗体的Resize方法,在方法内部设置窗体的Region属性为自绘的圆角矩形就好

WinForm如何去掉右边和下边的白边的更多相关文章

  1. 关于c# winform 键盘响应右边键盘消息响应事件的上下左右方向键没有反应

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11835642.html 记录一下这个小坑,c# winform 键盘响应右边键盘的上下左右方向 ...

  2. ckplayer播放器去掉右边的开关灯分享插件

    在上一篇文章中介绍了如何使用ckplayer播放器,但是有的人不需要CK播放器右边的开关灯分享插件,那么就需要把该插件给去掉,方法也很简单. 第一步:先打开ckplayer.js里找到下面三行删除掉 ...

  3. WPF控件经验小结:(1) ToolBar去掉右边箭头(扩展图标)

    今天开发时,同事问我一个问题.怎么去除ToolBar右边扩展图标.我想了一下,说改Style.同事说太麻烦了.可不可以快速修正.我说应该动态去读取Template模板中的Style,然后隐藏.怎么实现 ...

  4. xcode 5.0 以上去掉icon高亮方法&iOS5白图标问题

    之前的建议方法是把在xxx.info.plist文件中把 icon already includes gloss and bevel effects 设置YES 在Xcode5下,反复实现不成功,今天 ...

  5. pydev去掉右边的预览栏minimap

    eclipse pydev: preferences > PyDev > Editor > Overview Ruler Minimap

  6. input属性为number时,如何去掉右边的 +、-号

    修改css /* 谷歌 */ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearan ...

  7. input type属性为number时,去掉右边的上下箭头

    加上样式: input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; ...

  8. C#(winform)button去掉各种边框

    仔细读完,主要在FlatAppearance属性里 1.既然是添加背景图片 所以这里应该使用 Button.BackgroudImage = "" ;来设置图片 而不应该使用  B ...

  9. iOS裁剪,缩放图片白边问题解决办法

    几年没来了,感觉还是要写点啥,以后碰见问题 解决就写这吧,当是一个随时的笔记也好. iOS裁剪,缩放图片的代码网上也很多了,但是笔者出现了右边和下边出现白边的情况.出现白边的原因是给的size中的CG ...

随机推荐

  1. 参数错误导致bug

    1.网站参数与数据库参数名字不一致(大小写). 2.参数漏掉一个字母(characterno写成了charaterno).

  2. luoguP1080 国王游戏 (贪心+高精度)

    题目链接:https://www.luogu.org/problemnew/show/P1080 参考:https://www.luogu.org/problemnew/solution/P1080 ...

  3. centos云服务器安装Python3记录

    题记 购买了一个月的服务器和公网ip,计划用Python与Nginx写一个web服务,于是踏上了漫漫的摸索之路. 行程 步骤 1.本地ssh连接. 2.mkdir /usr/local/python3 ...

  4. PAT 1034 有理数四则运算(20)(代码框架+思路+测试点错误分析)

    1034 有理数四则运算(20)(20 分)提问 本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的 ...

  5. 757A Gotta Catch Em' All!

    A. Gotta Catch Em' All! time limit per test 1 second memory limit per test 256 megabytes input stand ...

  6. 剑指offer面试题3二维数组中的查找

    题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 需要与面试官确认的是,这 ...

  7. boost基础环境搭建

    因为现在手上的老的基类库经常出现丢包,以及从ServiceAClient 发送消息到 ServiceBServer时出现消息失败的情况,以及现有的莫名其妙的内存泄露的问题,以及目前还是c++0x,准确 ...

  8. [Selenium]如何实现上传本地文件

    public void uploadLocalFileToServer(String uploadFileName){ String AutomationPath = System.getProper ...

  9. 电商类Web原型制作分享-IKEA

    IKEA是一个家居整合大型零售商,属于电商类官网.电商以展示商品.售后服务.购物流程为主.根据网站的图文方式排版,主导航栏使用的标签组,区域导航栏使用的是垂直选项卡,实现下拉弹出面板交互的功能. 本原 ...

  10. 为什么const对象只能调用const成员函数,而不能调用非const成员函数?

    在c++中,我们可以用const来定义一个const对象,const对象是不可以调用类中的非const成员函数,这是为什么呢?下面是我总结的一些原理. 假设有一个类,名字为test代码如下: clas ...