WinForm如何去掉右边和上边的白边

系统给的窗体样式都缺乏美感,想要漂亮的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如何去掉右边和上边的白边,布布扣,bubuko.com

时间: 2024-11-04 21:28:18

WinForm如何去掉右边和上边的白边的相关文章

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

之前的建议方法是把在xxx.info.plist文件中把 icon already includes gloss and bevel effects 设置YES 在Xcode5下,反复实现不成功,今天终于找到解决方案,如果使用xcassets设置方法,需要选择iOS icon is pre-rendered 的选择框,如图 xcod5在iOS5下白图标问题, http://iphonedevsdk.com/forum/iphone-sdk-development/115604-ipad-icon

pydev去掉右边的预览栏minimap

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

Javascript 去掉字符串前后空格的五种方法

第一种:循环检查替换 [javascript] //供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } //去掉左边的空白 function trimLeft(s){ if(s == null) { return ""; } var whitespace = new String(" \t\n\r"); var str = new String(s); if (whitespace.indexOf(st

js 去掉字符串前后空格

转自: http://www.cnblogs.com/mingforyou/p/3930638.html 第一种:循环检查替换 //供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } //去掉左边的空白 function trimLeft(s){ if(s == null) { return ""; } var whitespace = new String(" \t\n\r"); var str =

js去掉字符串前后空格的五种方法

第一种:循环检查替换[javascript]//供使用者调用  function trim(s){  return trimRight(trimLeft(s));  }  //去掉左边的空白  function trimLeft(s){  if(s == null) {  return "";  }  var whitespace = new String(" \t\n\r");  var str = new String(s);  if (whitespace.i

通过网站不能跳转登录的案例来看IP白名单的设置

最近在公司遇到一个问题,进入公司的游戏产品官网注册一个普通用户账号,登录官网 然后点击进入该游戏产品的论坛,不能自动跳转到论坛实现自动登录 于是自己去官网注册了一个普通用户账号,登录官网,测试看看,发现确实不能自动跳转到论坛 登录论坛的服务器数据库,查看到数据库里已经有刚刚注册的用户数据了,但密码没有同步过来 经过和开发的一起分析和故障排查,发现一个报错程序 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communicatio

bat 获取系统日期,时间,并去掉时间小时前面的空格和时间后面的空格

@echo off rem BAT获取系统日期,时间,并去掉时间小时前面的空格和时间后面的空格 echo *** %DATE% echo *** %TIME% set THISDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2% echo %THISDATE% rem 去掉小时前的空格 set h=%time:~0,2% set h=%h: =0% set log_filename=%date:~0,4%%date:~5,2%%date:~8,2%%h%%time:~3,

[No000051]如何去掉word复制过来的文字背景色?

我们经常从网上copy一些自己需要的材料到word里.不过常常会把别人的背景色一起拷贝过来.那么如何去掉word复制过来的文字背景色? 方法/步骤 第一步选ctrl+A(全选),找到页面布局→页面边框,点开页面边框以后,找到底纹,然后找到"填充"和"应用于",填充部分选择白色,应用于选择段落,选择完以后点"确定"如下图所示 点完确定后,再看,底纹是不是已经去掉了? 底纹已经去掉了,但是文字的背景还没有去掉,接下来去掉文字的背景色,操作方法和上面去

js去掉字符串前后空格的五种方法(转)

出处:http://www.2cto.com/kf/201204/125943.html 第一种:循环检查替换[javascript]//供使用者调用  function trim(s){  return trimRight(trimLeft(s));  }  //去掉左边的空白  function trimLeft(s){  if(s == null) {  return "";  }  var whitespace = new String(" \t\n\r")