一个小程序

        圣诞前收到一个程序,运行时显示一个窗体(透明的) ,其中不断的显示几幅图片,几束花随机显示在屏幕上,除了花以外没有其他任何东西。于是我想自己实现一下。于是根据自己C#的经验写了个小程序,实现这样的一个功能。
       我实现的步骤如下:
       一、新建一个WindowsApplication工程,名称任意起一个就可以了,我起的名称为(Flowers)。
       二、在工程中添加要显示的图片。图片的设置最好是除了花的以外均是纯色
       三、设置窗体的颜色为白色
       四、在构造函数中添加如下代码:
            this.TransparencyKey = this.BackColor;
            Bitmap bitmap = new Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
            this.BackgroundImage = bitmap;
       五、添加私有变量,并且在构造函数中添加如下代码:
            private Bitmap[] image = new Bitmap[6];
            image[0] = Properties.Resources.BM_I0;
            image[0].MakeTransparent(Color.White);
            image[1] = Properties.Resources.BM_I1;
            image[1].MakeTransparent(Color.White);
            image[2] = Properties.Resources.BM_I2;
            image[2].MakeTransparent(Color.White);
            image[3] = Properties.Resources.BM_M3;
            image[3].MakeTransparent(Color.White);
            image[4] = Properties.Resources.BM_I4;
            image[4].MakeTransparent(Color.White);
            image[5] = Properties.Resources.BM_I5;
            image[5].MakeTransparent(Color.White);
       六、在窗体中添加一个Timer组件,并且在Timer的Tick中添加如下代码:
            System.Random random = new System.Random(DateTime.Now.Millisecond);
            int i = random.Next() % this.Width;
            int j = random.Next() % this.Height;
            int k = random.Next() % 6;
            Bitmap bitmap = (Bitmap)(this.BackgroundImage);
            Graphics g = Graphics.FromImage(bitmap);
            g.DrawImage(image[k], i, j, image[k].Width, image[k].Height);
            this.BackgroundImage = bitmap;
            this.Refresh();
       七、在窗体的Click时间中添加如下代码:
            this.Close();
       八、这是窗体的显示有部分闪烁,于是设置窗体的DoubleBuffered为true
       这样一切都完成了,程序运行时图片不断显示,随机显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值