private void YardClick(object sender, EventArgs e)
 {
     if (optBlue.Checked)
     {
         txtYards.Text = distance.BlueDistance.ToString();
         TeeBox        = YardMarker.Blue;
     }
     else if (optWhite.Checked)
     {
         txtYards.Text = distance.WhiteDistance.ToString();
         TeeBox        = YardMarker.White;
     }
     else if (optRed.Checked)
     {
         txtYards.Text = distance.RedDistance.ToString();
         TeeBox        = YardMarker.Blue;
     }
 }
        public HoleDetail(ref ICourseInfo ThisCourse, ref IHoleDetailInfo hole)
        {
            InitializeComponent();

            //Dont forget to initailize tab order and speedkeys, etc
            this.BackColor      = Color.LightGreen;
            cmdSave.BackColor   = Color.SandyBrown;
            cmdCancel.BackColor = Color.SandyBrown;

            mHole          = hole;
            lblCourse.Text = ThisCourse.Name;
            foreach (Tees tee in ThisCourse.Hole)
            {
                if (tee.HoleNumber == mHole.Hole)
                {
                    distance = tee;
                    break;
                }
            }

            lblHole.Text = "Hole: " + mHole.Hole.ToString();
            lblPar.Text  = "Par: " + mHole.Par.ToString();

            optBlue.CheckedChanged  += new EventHandler(this.YardClick);
            optWhite.CheckedChanged += new EventHandler(this.YardClick);
            optRed.CheckedChanged   += new EventHandler(this.YardClick);
            switch (hole.TeeBox)
            {
            case YardMarker.Blue:
                optBlue.Checked = true;
                TeeBox          = YardMarker.Blue;
                break;

            case YardMarker.Red:
                optRed.Checked = true;
                TeeBox         = YardMarker.Red;
                break;

            case YardMarker.White:
            default:
                optWhite.Checked = true;
                TeeBox           = YardMarker.White;
                break;
            }

            //This is how you enumerate an enumeration
            //Bet you didn't know you could do this.
            GolfClubs G = GolfClubs.One_iron;

            while (G <= GolfClubs.Putter)
            {
                cmbFirstClub.Items.Add(G);
                if (mHole.TeeClub == G)
                {
                    cmbFirstClub.SelectedIndex = cmbFirstClub.Items.Count - 1;
                }

                cmbSecondClub.Items.Add(G);
                if (mHole.ScondClub == G)
                {
                    cmbSecondClub.SelectedIndex = cmbSecondClub.Items.Count - 1;
                }

                G++;
            }

            cmdSave.DialogResult   = DialogResult.OK;
            cmdCancel.DialogResult = DialogResult.Cancel;
            cmdSave.Click         += new EventHandler(SaveHole);

            chkFairway.Checked       = hole.HitFairway;
            chkGoodHit.Checked       = hole.GoodSecondShot;
            txtShots2Green.MaxLength = 3;
            txtShots2Green.Text      = hole.ShotsToGreen.ToString();
            txtShots2Green.KeyPress += new KeyPressEventHandler(OnlyNumbers);
            txtPutts.MaxLength       = 3;
            txtPutts.Text            = hole.Putts.ToString();
            txtPutts.KeyPress       += new KeyPressEventHandler(OnlyNumbers);
            txtTotal.MaxLength       = 3;
            txtTotal.Text            = hole.TotalShots.ToString();
            txtTotal.KeyPress       += new KeyPressEventHandler(OnlyNumbers);

            //Consider adding a databinding or validation to the totals
            //text box so it automatically totals the shots2green and putts TextBoxes.
        }