比较经典的窗体效果

原创 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那样的上拉效果,当然需要把窗体关闭改为鼠标离开事件了,呵呵.

c#经典编程实例(四窗体应用程序)

一:.NET中窗体应用程序就是一种GUI程序 窗体创建的两种方式: (1)自动生成的是: Application.Run(new Form1()); 相当于: Form1 f...
  • zxq1138634642
  • zxq1138634642
  • 2013年06月15日 18:13
  • 22835

c#经典编程实例(五使用窗体控件)

一:目录 文本框TextBox 单选框RadioButton和复选框CheckBox 分组框GroupBox 工具栏ToolStript和状态栏StatusStrip 图片框PictureB...
  • zxq1138634642
  • zxq1138634642
  • 2013年06月15日 20:35
  • 9403

WinForm 窗体缩放动画效果

Winform 窗体缩放动画效果代码
  • u011470119
  • u011470119
  • 2014年07月06日 23:19
  • 1563

5个经典的前端面试问题

注* 相关阅读 如何面试前端工程师:Github很重要 JavaScript开发人员在IT界的需求量一直很大。如果你非常精通神这门语言,你会有很多机会换工作,涨薪水。但是在一家公司录用你之前,你...
  • csdnstudent
  • csdnstudent
  • 2014年10月24日 10:20
  • 1859

HTML5+CSS3实现iOS Path菜单特效,动画效果很酷

HTML5+CSS3实现iOS Path菜单特效,动画效果很酷 源代码下载地址:http://www.zuidaima.com/share/1760404963691520.htm...
  • springmvc_freemarker
  • springmvc_freemarker
  • 2016年03月15日 09:29
  • 740

winform学习窗体动画

1.winform打开时实现各种动画显示 using System.Runtime.InteropServices;  public class Win32  {   public const I...
  • lg343028751
  • lg343028751
  • 2016年07月14日 23:08
  • 921

MFC窗体滑动、缩放、渐变动态效果的实现 .

转自:http://blog.csdn.net/shufac/article/details/24932279   要实现动画显示窗体效果需要使用AnimateWindow函数,并设置0x0000...
  • heary29
  • heary29
  • 2015年03月09日 11:27
  • 908

窗体部件效果之不规则窗体

LoginWnd::LoginWnd(QWidget *parent) : QWidget(parent), ui(new Ui::LoginWnd) { ui->setupU...
  • Y673582465
  • Y673582465
  • 2017年06月22日 14:18
  • 125

C# win32 api入门--自制窗口闪烁效果与模态窗体闪烁效果

自制模态窗口闪烁效果
  • u011360395
  • u011360395
  • 2015年11月06日 15:10
  • 478

WPF窗口控件动态模糊效果

不知道各位在设计程序UI时是否碰到过动态渐变动画实现的困扰,本文将讲解如何通过WPF内置的blureffect效果和Animation动画实现动态高斯模糊效果。 最终效果: 通过Animati...
  • lpc1290
  • lpc1290
  • 2017年02月12日 11:17
  • 506
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:比较经典的窗体效果
举报原因:
原因补充:

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