系统给的窗体样式都缺乏美感,想要漂亮的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. 'org.springframework.beans.factory.xml.XmlBeanFactory' is deprecated

    'org.springframework.beans.factory.xml.XmlBeanFactory' is deprecated XmlBeanFactory这个类已经被摒弃了.可以用以下代替 ...

  2. #define宏常量和const常量的区别

    C++ 语言可以用const 来定义常量,也可以用#define 来定义常量.但是前者比后者有更多的优点:(1) const 常量有数据类型,而宏常量没有数据类型.编译器可以对前者进行类型安全检查.而 ...

  3. 几种常见的Web服务器

    Apache与Tomcat的区别 ,几种常见的web/应用服务器 APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等动态 ...

  4. ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示(一)

    为什么使用ListView+DataPager的方式实现分页显示? .net提供的诸多数据绑定控件,每一种都有它自己的优点和缺点.如果需要对数据进行操作,如果数据量不大的情况下,DataList和Gr ...

  5. 矩形最小路径和 · Minimum Path Sum

    [抄题]: 给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径. [思维问题]: [一句话思路]: 和数字三角形基本相同 [输入量]:空: 正常情况:特大:特小:程序里 ...

  6. 349. Intersection of Two Arrays 是否重复

    不重复的: 方法一 [一句话思路]:排序之后用归并. [一刷]: 根据返回方法的类型来判断corner case.判断空.0数组的corner case还不一样,得分开写 由于先排序了,nums1[i ...

  7. repeater嵌套RadioButtonList赋值

    <asp:Repeater ID="Repeater1" runat="server"         onitemdatabound="Rep ...

  8. win下安装composer

    1.在官网上下载composer的安装程序. https://getcomposer.org/ 2.双击运行Composer-Setup.exe程序,选择你自已的php安装目录打到php.exe.   ...

  9. Castle ActiveRecord学习(一)简介

    简介 来源:http://www.cnblogs.com/zxj159/p/4082987.html 一.Active Record(活动记录)模式 Active Record是业务逻辑层中(< ...

  10. iOS.Dev.Support.MultiVersions

    如何利用target conditionals和availabilty 如何来区分平台iOS OR Mac “When building for iOS the deployment target i ...