English(beta)
hfyb的Blog 页面正在加载中 .....

窗体启动特效

【思路】:

在Form的OnLoad中 先使Form不可见,然后从内向外,一层一层绘制Rectangle ,最后让Form可见


【难点】


首先输出效果的Rectangle要有个地方显示,Main Form可不行,因为当绘制Rectangle的时候 ,Form是不可见的,这里使用了Desktop桌面


【代码如下】


1. 加入命名空间


using System.Drawing.Imaging;


using System.Runtime.InteropServices;


2. 声明Win32 Api GetDC()


[ DllImport("user32") ]


public static extern System.IntPtr GetDC(System.IntPtr dc);


3. 声明变量


System.Drawing.Graphics g; //画图板


Pen p=new Pen(Color.Black,1); //画笔


int startx,starty,wx,wy,step; //startx,starty,wx,wy确定一个矩形


int cx,cy; //cx,cy为form的client的width 和height


4.在Form的OnLoad上加上如下代码


this.Visible=false;


step=1;


g=Graphics.FromHdc(GetDC(System.IntPtr.Zero));


cx=this.ClientSize.Width;


cy=this.ClientSize.Height;


this.Visible=false;


step=1;


while(step<=cx/2)


{


startx=cx/2-step;


starty=cy*startx/cx;


wx=2*step;


wy=wx*cy/cx;


startx+=this.Left;


starty+=this.Top+this.Height-this.ClientSize.Height;


g.DrawRectangle(p,startx,starty,wx,wy);


System.Threading.Thread.Sleep(100);


step+=10;


}


this.Visible=true;

posted on 2007-02-27 23:18  hfyb  阅读(343)  评论(0编辑  收藏  举报

导航