比较经典的窗体效果

原创 2007年10月11日 09:46:00

 渐显的窗体

private void Form1_Load(object sender, System.EventArgs e)
        
...{
            
this.timer1.Enabled=true;
            
this.Opacity=0;
        }


        
private void timer1_Tick(object sender, System.EventArgs e)
        
...{
            
if(this.Opacity<1)
            
...{
                
this.Opacity=this.Opacity+0.05;
            }

            
else
            
...{
                
this.timer1.Enabled=false;
            }

        }

这个实在没有什么新奇的,改透明度而已.

渐变的窗口背景

using System.Drawing.Drawing2D; 

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        
...{
            Graphics g
=e.Graphics;
            Color FColor
=Color.Blue;
            Color TColor
=Color.Yellow;
            Brush b 
=new LinearGradientBrush(this.ClientRectangle, FColor, TColor, LinearGradientMode.ForwardDiagonal);
            g.FillRectangle(b,
this.ClientRectangle);
        }


        
private void Form1_Resize(object sender, System.EventArgs e)
        
...{
            
this.Invalidate();
        }

一般般,没有什么新意.

窗体总在最顶

this.TopMost = true;

一些朋友老问,所以贴出来.

后面的是我个人比较喜欢用的效果:

多边型窗体

using System.Runtime.InteropServices;         //用API的都知道

[DllImport(
"gdi32")]
        
private static extern IntPtr CreatePolygonRgn(Point[] lpPoint,int nCount,int nPolyFillMode);
        [DllImport(
"user32")]
        
private static extern IntPtr SetWindowRgn(IntPtr hWnd,IntPtr hRgn,bool bRedraw);
                                                                                                                                            
const int WINDING = 2;
        
private void Form1_Load(object sender, System.EventArgs e)
        
...{
            Point[] pt
=...{
                            
new Point(this.Width /2,0),
                            
new Point(0,this.Height/2),
                            
new Point(this.Width/2,this.Height),
                            
new Point(this.Width,this.Height/2),
                            
new Point(this.Width,0)
                        }
;

            
            IntPtr m_rgn;
            m_rgn
=CreatePolygonRgn(pt,5,WINDING);
            SetWindowRgn(
this.Handle,m_rgn,true);

看看下面的,可能喜欢的人多些.

动画效果

using System.Runtime.InteropServices;


        [System.Runtime.InteropServices.DllImport(
"user32"
)]
        
private static extern bool AnimateWindow(IntPtr hwnd,int dwTime, int
 dwFlags);
        
const int AW_HOR_POSITIVE = 0x0001
;
        
const int AW_HOR_NEGATIVE = 0x0002
;
        
const int AW_VER_POSITIVE = 0x0004
;
        
const int AW_VER_NEGATIVE = 0x0008
;
        
const int AW_CENTER = 0x0010
;
        
const int AW_HIDE = 0x10000
;
        
const int AW_ACTIVATE = 0x20000
;
        
const int AW_SLIDE = 0x40000
;
        
private
 System.Windows.Forms.MainMenu mainMenu1;
        
private
 System.Windows.Forms.MenuItem menuItem1;
        
private
 System.Windows.Forms.MenuItem menuItem2;
        
const int AW_BLEND = 0x80000
;        

        
private void Form1_Load(object
 sender, System.EventArgs e)
        
...
{
            AnimateWindow(
this.Handle,1000, AW_CENTER |
 AW_ACTIVATE);
        
        }


        
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        
...
{
            AnimateWindow(
this.Handle, 1000, AW_SLIDE | AW_HIDE |
 AW_VER_NEGATIVE);
            
        }

这个可以实现像QQ那样的上拉效果,当然需要把窗体关闭改为鼠标离开事件了,呵呵.

WIN32多线程程序设计学习笔记(第三章)

WIN32多线程程序设计学习笔记(第三章) 通过在上一章的学习,我学会使用GetExitCodeThread()这个函数来判断一个线程是否还在执行。通过这个函数,我就可以对付“某个线程必须在某个线程结...
  • chinani
  • chinani
  • 2004-03-29 10:41:00
  • 2058

【WPF无边框窗体】

WPF是Windows操作系统中一次重大变革,与早期的GDI+/GDI不同。 WPF是基于DirectX引擎的,支持GPU硬件加速,在不支持硬件加速时也可以使用软件绘制。 利用WPF创建无边框的窗...
  • heyangyi_19940703
  • heyangyi_19940703
  • 2016-04-20 18:16:18
  • 2131

跟我一起玩WPF-走进WPF

WFP     是Windows演示基础(WindowsPresentation Foundation)。一个用于windows的图形显示系统。WPF是针对.net设计的,受现代显示技术(如HTML...
  • u010176014
  • u010176014
  • 2015-10-28 23:28:07
  • 664

Custom Window Chrome in WPF

Guest post by Joe Castro, WPF product team developer This document covers the design and some impl...
  • new_smile
  • new_smile
  • 2016-04-28 10:44:18
  • 1639

VB窗体阴影

  • 2015年04月29日 22:29
  • 454KB
  • 下载

经典边缘检测算子效果比较

  • 2014年05月14日 21:50
  • 533B
  • 下载

C# 经典一百例---有100道C#例题

  • 2011年05月03日 20:16
  • 12.28MB
  • 下载

WinForm中的特殊窗体效果:渐变窗口和信息提示窗口

在WinForm中偶尔会遇到某些特殊效果:比如某个窗口刚开始的时候是完全透明的,随着时间的变化,窗体逐渐不透明,直至完全不透明。这是本文要探讨的窗体效果之一:渐变窗体。还有一种窗体效果:有些软件在某个...
  • zhoufoxcn
  • zhoufoxcn
  • 2008-06-16 18:19:00
  • 11520

用C#写的飘动窗体很经典哦

  • 2009年03月14日 22:14
  • 874KB
  • 下载

10个设计最经典的web2.0网站

10个设计最经典的web2.0网站
  • cyp403
  • cyp403
  • 2006-08-14 14:22:00
  • 1640
收藏助手
不良信息举报
您举报文章:比较经典的窗体效果
举报原因:
原因补充:

(最多只允许输入30个字)