ScreenSaver.cs
using System;
using System.Windows.Forms;
namespace ScreenSaver
{
 public class DotNETScreenSaver
 {
  [STAThread]
  static void Main(string[] args) 
  {
   if (args.Length > 0)
   {
    if (args[0].ToLower().Trim().Substring(0,2) == "/c")
    {
     MessageBox.Show("This Screen Saver has no options you can set.", ".NET Screen Saver", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    }
    else if (args[0].ToLower() == "/s")
    {
     for (int i = Screen.AllScreens.GetLowerBound(0); i <= Screen.AllScreens.GetUpperBound(0); i++) 
      System.Windows.Forms.Application.Run(new ScreenSaverForm(i));    
    }
   }
   else
   {
    for (int i = Screen.AllScreens.GetLowerBound(0); i <= Screen.AllScreens.GetUpperBound(0); i++) 
     System.Windows.Forms.Application.Run(new ScreenSaverForm(i));    
   }
  }
 }
}
ScreenSaverForm.cs
using System;
using System.Drawing;
using System.Windows.Forms;
namespace ScreenSaver
{
 public class ScreenSaverForm : System.Windows.Forms.Form
 {
  private Point MouseXY;
  private int ScreenNumber;
  public ScreenSaverForm(int scrn)
  {
   InitializeComponent();
   ScreenNumber = scrn;
  }
    private void ScreenSaverForm_Load(object sender, System.EventArgs e)
  {
   this.Bounds = Screen.AllScreens[ScreenNumber].Bounds;
   Cursor.Hide();
   TopMost = true;