GUI Windows Forms C# Tutorial

using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Text;
class DialogValid : System.Windows.Forms.Form
{
    private Button okButton;
    private Button cancelButton;
    private NumericUpDown num;
    public decimal Num {
        get { return num.Value; }
        set { num.Value = value;    }
    }
    void OnValidating(Object sender, CancelEventArgs e)
    {
        MessageBox.Show("NumericUpDown is validating");
    } 
    void OnValid(Object sender,EventArgs e)
    {
        MessageBox.Show("NumericUpDown is valid");
    } 
    public DialogValid()
    {
        Size = new Size(400,100);
        FormBorderStyle = FormBorderStyle.FixedDialog;
        Text = "Dialog test";
        okButton = new Button();        
        okButton.DialogResult = DialogResult.OK;
        okButton.Location = new Point(20,28);
        okButton.Size = new Size(80,25);
        okButton.Text = "OK";
        Controls.Add(okButton);
        cancelButton = new Button();
        cancelButton.Location = new Point(300,28);
        cancelButton.Size = new Size(80,25);
        cancelButton.Text = "Cancel";
        cancelButton.DialogResult = DialogResult.Cancel;
        Controls.Add(cancelButton);
        Label l = new Label();
        l.Text = "NumericUpDown";
        l.Location = new Point(20,5);
        l.Size = new Size(120,25);
        Controls.Add(l);
        num = new NumericUpDown();
        num.Location = new Point(140,5);
        num.Size = new Size(80,25);
        num.Minimum = (decimal)10.0;
        num.Maximum = (decimal)100.0;
        num.Value = (decimal)10.0;
        
        num.Validating+=new CancelEventHandler(OnValidating);
        num.Validated+=new EventHandler(OnValid);
        Controls.Add(num);
    }
}
public class NumericUpDownValidationEvent{
    public static void Main()
    {
        DialogValid dlg = new DialogValid();
        DialogResult r = dlg.ShowDialog();
        
        Console.WriteLine(dlg.Num);
    }
}