Introduction:
In this article I will show you how to make a screen saver by using c# windows form. It is not perfect screen sever as windows gives us but yes, it is little bit like that.
Steps:
1) Add a form in your application and make it form border style none. Set transparency key as form background color so it will make your form transparent.
2) Put a timer control on your form and set it's interval as you want to display picture per millisecond on the computer screen.
3) Code behind
int x, y;
private void
timer1_Tick(object sender, EventArgs e)
{
/*
* here x & y are the
variables and below two line will put
desktop's different
* screen location in it.
*/
x = Convert.ToInt32((Microsoft.VisualBasic.VBMath.Rnd())
* (this.ClientSize.Width));
y =Convert.ToInt32((Microsoft.VisualBasic.VBMath.Rnd())*this.ClientSize.Height));
/*
* screenStart() is the
function which works to display image at the different screen
* location of the
desktop
*/
screenStart();
}
//This is the function which is called in the time1_Tick even
private void
screenStart()
{
//Picturebox is created
dyanamically
PictureBox
pbox = new PictureBox();
//and then after
it will display at different location
pbox.Location = new
Point(x, y);
pbox.Height = 100;
pbox.Width = 100;
//picture is set
to the picturebox from the Resources.
pbox.Image = global::screensever.Properties.Resources.thank_you_blue_rose;
pbox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
//and at last
control will added to the form
Controls.Add(pbox);
}
//This the Form1_Keyup even from where you will exit from the
application while its running.
private void
Form1_KeyUp(object sender, KeyEventArgs e)
{
if (Keys.Escape == e.KeyCode)
{
this.Close();
}
}