Solved

Using .jpg as screensaver in windows application

Posted on 2009-05-14
6
227 Views
Last Modified: 2012-05-07
Hi experts,

          I have a .jpg file, which i want to show as screen saver using a
C# windows application [VS 2008].
          Another requirement is Hot Keys are not allowed to deactivate
the screen saver.

          I have no idea about this. Please help me on this....
0
Comment
Question by:srk1982
  • 3
  • 2
6 Comments
 
LVL 2

Expert Comment

by:xnatex21
ID: 24391626
What's the real question here?

You want a screensaver with a certain jpg? Or you've written a C# program (odd b/c I always thought of C# was used for client/server stuff) that is a screen saver program and you need help with it?
0
 

Author Comment

by:srk1982
ID: 24391661
Hi xnatex21,

         I have a windows application coded in c#, when the user is
inactive for 30 seconds, i want to show a .jpg file in my application
folder as screensaver.

thanks for your immediate responce...
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 24391799
Create a new form and set its image property to the .jpg you desire (you can import a .jpg as a resource). Set the properties of your new form as such:
////////////////////////////////////////////////////////////////////
// New Form Code
////////////////////////////////////////////////////////////////////
public Form1()
{
    InitializeComponent();
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;
    this.MouseMove += Form1_MouseMove;
}
 
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
    this.Close();
}
 
////////////////////////////////////////////////////////////////////
//  From main application
////////////////////////////////////////////////////////////////////
// After 30 seconds elapses (use a timer)
 
public void SomeFunction()
{
    (new ScreenSaverForm()).ShowDialog();
}

Open in new window

0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 24391817
My mistake:  The MouseMove handler should be on the picturebox, not the form. See below.
public Form1()
{
    InitializeComponent();
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;
    this.Size = new Size(this.Size.Width * 2, this.Size.Height);
    this.pictureBox1.MouseMove += pictureBox1_MouseMove;
}
 
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
    this.Close();
}

Open in new window

0
 
LVL 75

Accepted Solution

by:
käµfm³d   👽 earned 500 total points
ID: 24391827
Sorry I didn't include this before (I just re-read your question). As far as preventing hotkeys, you can handle the KeyDown event of the form and check if Alt is pressed:
////////////////////////////////////////////////////////////////////
// Everything together
////////////////////////////////////////////////////////////////////
public Form1()
{
    InitializeComponent();
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;
    this.Size = new Size(this.Size.Width * 2, this.Size.Height);
    this.pictureBox1.MouseMove += pictureBox1_MouseMove;
    this.KeyDown += new KeyEventHandler(Form1_KeyDown);
}
 
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
    this.Close();
}
 
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Alt)
        e.Handled = true;
}

Open in new window

0
 

Author Comment

by:srk1982
ID: 24391964
Hi kaufmed,

     Thanks for your prompt reply. I am in halfway.
     For now screen saver is disappering when there is a mouse movement.
     I also want to functionality for the screen saver to vanish in case there
     is a key press in keyboard except hot keys.

Thanks....
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question