【效果图】

** 【思路】: **
** ** 在 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 ;
ps:这是第一次发表原创, 大家多多指教