已经实现了
呵呵 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace 屏保软件
{
public partial class ScreamSaver : Form
{ private int speed = 30;
private int iDistance;
private int ixStart = 0;
private int iyStart = 0; public ScreamSaver()
{
InitializeComponent();
Cursor.Hide();
//timerSaver_Tick += new EventHandler(timerSaver_Tick); this.WindowState = FormWindowState.Maximized;
this.StartPosition = FormStartPosition.Manual;
//this.KeyDown += new KeyEventHandler(ScreamSaver_KeyDown);
//this.MouseDown += new MouseEventHandler(ScreamSaver_MouseDown);
//this.MouseMove += new MouseEventHandler(ScreamSaver_MouseMove);
ResumeLayout(false);
} private void timerSaver_Tick(object sender, EventArgs e)
{ //设置标签的高度和宽度
int randomum1;
Random r1 = new Random();
randomum1 = (int)(800 * r1.NextDouble());
//lalMarquee.Height = 1;
//lalMarquee.Width = 100;
//获取该form的一组坐标
Rectangle ssWorkArea = Screen.GetWorkingArea(this);
//设置该标签的位置
lalMarquee.Location = new Point(ssWorkArea.Width - iDistance, lalMarquee.Location.Y);
//重新设置randeomum1
randomum1 = (int)(ssWorkArea.Width * r1.NextDouble());
lalMarquee.Visible = true; iDistance += speed; if (lalMarquee.Location.X <= -(lalMarquee.Width))
{
iDistance = 0;
// //如果超出左边的界限
lalMarquee.Location = new Point(lalMarquee.Location.X, randomum1);
}
}
//鼠标指针按下时此程序结束
private void ScreamSaver_MouseDown(object sender, MouseEventArgs e)
{
Cursor.Show();
timerSaver.Enabled = false;
Application.Exit(); }
//鼠标移动时 此程序结束
private void ScreamSaver_MouseMove(object sender, MouseEventArgs e)
{ //记忆程序运行时光标位置
if (ixStart == 0 && iyStart == 0)
{
ixStart = e.X;
iyStart = e.Y;
return;
} else if (e.X != ixStart || e.Y != iyStart)
{
Cursor.Show();
timerSaver.Enabled = false;
Application.Exit();
}
}
//按键时 程序结束
private void ScreamSaver_KeyDown(object sender, KeyEventArgs e)
{
Cursor.Show();
timerSaver.Enabled = false;
Application.Exit(); }
private int speed1 = 60;
private int iDistance1;
private void timer1_Tick(object sender, EventArgs e)
{
int randomum1;
Random r1 = new Random();
randomum1 = (int)(800 * r1.NextDouble());
//lalMarquee.Height = 1;
//lalMarquee.Width = 100;
//获取该form的一组坐标
Rectangle ssWorkArea = Screen.GetWorkingArea(this);
//设置该标签的位置
label1.Location = new Point(-label1.Width + iDistance1, label1.Location.Y);
//重新设置randeomum1
randomum1 = (int)(ssWorkArea.Width * r1.NextDouble());
label1.Visible = true; iDistance1 += speed1; if (label1.Location.X >= ssWorkArea.Width)
{
iDistance1 = 0;
// //如果超出左边的界限
label1.Location = new Point(label1.Location.X, randomum1);
} } }
}我现在想问的是 如果很多标签 怎么写代码 能够更加的方便 简洁
呵呵 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace 屏保软件
{
public partial class ScreamSaver : Form
{ private int speed = 30;
private int iDistance;
private int ixStart = 0;
private int iyStart = 0; public ScreamSaver()
{
InitializeComponent();
Cursor.Hide();
//timerSaver_Tick += new EventHandler(timerSaver_Tick); this.WindowState = FormWindowState.Maximized;
this.StartPosition = FormStartPosition.Manual;
//this.KeyDown += new KeyEventHandler(ScreamSaver_KeyDown);
//this.MouseDown += new MouseEventHandler(ScreamSaver_MouseDown);
//this.MouseMove += new MouseEventHandler(ScreamSaver_MouseMove);
ResumeLayout(false);
} private void timerSaver_Tick(object sender, EventArgs e)
{ //设置标签的高度和宽度
int randomum1;
Random r1 = new Random();
randomum1 = (int)(800 * r1.NextDouble());
//lalMarquee.Height = 1;
//lalMarquee.Width = 100;
//获取该form的一组坐标
Rectangle ssWorkArea = Screen.GetWorkingArea(this);
//设置该标签的位置
lalMarquee.Location = new Point(ssWorkArea.Width - iDistance, lalMarquee.Location.Y);
//重新设置randeomum1
randomum1 = (int)(ssWorkArea.Width * r1.NextDouble());
lalMarquee.Visible = true; iDistance += speed; if (lalMarquee.Location.X <= -(lalMarquee.Width))
{
iDistance = 0;
// //如果超出左边的界限
lalMarquee.Location = new Point(lalMarquee.Location.X, randomum1);
}
}
//鼠标指针按下时此程序结束
private void ScreamSaver_MouseDown(object sender, MouseEventArgs e)
{
Cursor.Show();
timerSaver.Enabled = false;
Application.Exit(); }
//鼠标移动时 此程序结束
private void ScreamSaver_MouseMove(object sender, MouseEventArgs e)
{ //记忆程序运行时光标位置
if (ixStart == 0 && iyStart == 0)
{
ixStart = e.X;
iyStart = e.Y;
return;
} else if (e.X != ixStart || e.Y != iyStart)
{
Cursor.Show();
timerSaver.Enabled = false;
Application.Exit();
}
}
//按键时 程序结束
private void ScreamSaver_KeyDown(object sender, KeyEventArgs e)
{
Cursor.Show();
timerSaver.Enabled = false;
Application.Exit(); }
private int speed1 = 60;
private int iDistance1;
private void timer1_Tick(object sender, EventArgs e)
{
int randomum1;
Random r1 = new Random();
randomum1 = (int)(800 * r1.NextDouble());
//lalMarquee.Height = 1;
//lalMarquee.Width = 100;
//获取该form的一组坐标
Rectangle ssWorkArea = Screen.GetWorkingArea(this);
//设置该标签的位置
label1.Location = new Point(-label1.Width + iDistance1, label1.Location.Y);
//重新设置randeomum1
randomum1 = (int)(ssWorkArea.Width * r1.NextDouble());
label1.Visible = true; iDistance1 += speed1; if (label1.Location.X >= ssWorkArea.Width)
{
iDistance1 = 0;
// //如果超出左边的界限
label1.Location = new Point(label1.Location.X, randomum1);
} } }
}我现在想问的是 如果很多标签 怎么写代码 能够更加的方便 简洁
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货