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.
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;
timer1_Tick(object sender, EventArgs e)
* here x & y are the
variables and below two line will put
* screen location in it.
x = Convert.ToInt32((Microsoft.VisualBasic.VBMath.Rnd())
* screenStart() is the
function which works to display image at the different screen
* location of the
//This is the function which is called in the time1_Tick even
//Picturebox is created
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
//This the Form1_Keyup even from where you will exit from the
application while its running.
Form1_KeyUp(object sender, KeyEventArgs e)
if (Keys.Escape == e.KeyCode)