Thursday, October 27, 2011

How to receive execution arguments on a C# WinForms Application?

The below code that illustrates how to receive arguments for a WinForms Application.The example expects two arguments and validates that the are converted properly.
If the appropiate argumetns are sent, these are stored in a public class named GlobalVars.


[STAThread]
 static void Main( string[] MyArgs)
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(
false);

     if (MyArgs.Length == 0 || MyArgs.Length < 2)
     {
        MessageBox.Show(
        "Please specify Parm1 and Parm2 as Arguments in order to
         Proceed.",
        "YourAppTitle", MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
        return;
      }
      else
      {
         try
         {
            GlobalVars lGlobalVars =
new GlobalVars(); 
            lGlobalVars.gOrderSkey = Int64.Parse(MyArgs[0]);
            lGlobalVars.gShipmentNo = Int64.Parse(MyArgs[1]);
          }
          catch (Exception Ex)
          {
             MessageBox.Show(
          "Invalid Parm1 and/or Parm2 Arguments. Please verify. \rError: "
          + Ex.Message, "YourAppTitle",
          MessageBoxButtons.OK, MessageBoxIcon.Error);
          Application.Exit();
          return;
          }
          Application.Run(
new Form1());   
      }

}

Notice the "\n" to break down the MessageBox in two lines. Is a nice little trick that I often forget
Hope this helps,
Will

No comments:

Post a Comment