Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to use EXIT button without interference from LEAVE e
Message
General information
Forum:
ASP.NET
Category:
Other
Environment versions
Environment:
C# 1.1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Miscellaneous
Thread ID:
01053590
Message ID:
01053669
Views:
7
OK, a couple of things.

1) I notice you still have the code in the Leave event, maybe you've removed the delegate to it so it no longer fires, but I just wanted to point that out.

2) When I tested this, I did an application.Exit() from the Button click, rather than a this.Close(). Since you are using this.Close(), then instead of setting the .CausesValidation property to false for the button, you need to set the Form's .CausesValidation property instead. That should take care of your problem.

~~Bonnie




>Here's the code:
>
>Cecil
>
>
>using System;
>using System.Collections.Generic;
>using System.ComponentModel;
>using System.Data;
>using System.Drawing;
>using System.Text;
>using System.Windows.Forms;
>
>namespace CarCareCenter
>{
>    public partial class CarCareForm : Form
>    {
>        private const decimal
>            decStereoSystem = 425.76M,
>            decLeatherInterior = 987.41M,
>            decComputerNavigation = 1741.23M,
>            decStandardFinish = 0M,
>            decPearlizeFinish = 345.72M,
>            decCustomizedDetailing = 599.99M,
>            decTaxRate = 0.08M;
>
>        private decimal decTradeInAllowance = 0, decSubTotal = 0,
>            decSalesTax = 0, decAmountDue = 0, decAccessoriesTotal = 0;
>
>        public CarCareForm()
>        {
>            InitializeComponent();
>        }
>
>        private void CarCareForm_Load(object sender, EventArgs e)
>        {
>
>        }
>
>        private void exitButton_Click(object sender, EventArgs e)
>        {
>            this.Close();
>        }
>
>        private void clearButton_Click(object sender, EventArgs e)
>        {
>            this.accessoriesLabel.Text = "";
>            this.salesTaxLabel.Text = "";
>            this.basePriceTextBox.Text = "";
>            this.tradeInAllowanceTextBox.Text = "";
>            this.stereoCheckBox.Checked = false;
>            this.leatherInteriorCheckBox.Checked = false;
>            this.computerNavigationCheckBox.Checked = false;
>            this.subTotalLabel.Text = "";
>            this.amountDueLabel.Text = "";
>            //Clear variables.
>            decSubTotal = 0;
>            decAccessoriesTotal = 0;
>            decAmountDue = 0;
>            decSalesTax = 0;
>            decTradeInAllowance = 0;
>            disableControls();
>            //Put the focus on the first text box.
>            this.basePriceTextBox.Focus();
>        }
>
>        private void calculateButton_Click(object sender, EventArgs e)
>        {
>            string strMessageString="";
>
>            //Calculate the cost of the vehicle.
>            if (this.basePriceTextBox.Text != "")
>            {
>                //Convert from Text to Decimal value.
>                decSubTotal = decimal.Parse(this.basePriceTextBox.Text);
>                // Types of Interiors using check boxes. See which ones were checked.
>                if (this.stereoCheckBox.Checked)
>                {
>                    decAccessoriesTotal += decStereoSystem;
>                }
>                if (this.leatherInteriorCheckBox.Checked)
>                {
>                    decAccessoriesTotal += decLeatherInterior;
>                }
>                if (this.computerNavigationCheckBox.Checked)
>                {
>                    decAccessoriesTotal += decComputerNavigation;
>                }
>                decSubTotal += decAccessoriesTotal;
>
>                //Types of Finishes. See which Radio Button is checked.
>                if (this.standardFinishRadioButton.Checked)
>                {
>                    decSubTotal += decStandardFinish;
>                }
>                else if (this.pearlizedFinishRadioButton.Checked)
>                {
>                    decSubTotal += decPearlizeFinish;
>                }
>                else if (this.customizedDetailingRadioButton.Checked)
>                {
>                    decSubTotal += decCustomizedDetailing;
>                }
>                // Determine the taxes prior to deducting the trade-in value.
>                decSalesTax = (decSubTotal * decTaxRate);
>                //Add the sales tax to the subTotal variable.
>                decSubTotal += decSalesTax;
>
>                //See if the Buyer has a trade-in. Enter the value.
>                if (this.tradeInAllowanceTextBox.Text != "")
>                {
>                    decTradeInAllowance =
>                        decimal.Parse(this.tradeInAllowanceTextBox.Text);
>                    decAmountDue = (decSubTotal - decTradeInAllowance);
>                }
>                //In the case that there is no value in the Trade-In Allowance textbox.
>                else
>                {
>                    decAmountDue += decSubTotal;
>                }
>
>                //Now, display the results in the Labels.
>                this.accessoriesLabel.Text = decAccessoriesTotal.ToString("C");
>                this.salesTaxLabel.Text = decSalesTax.ToString("C");
>                this.subTotalLabel.Text = decSubTotal.ToString("C");
>                this.amountDueLabel.Text = decAmountDue.ToString("C");
>                this.calculateButton.Enabled = false;
>            }
>        }
>
>        private void basePriceTextBox_Leave(object sender, EventArgs e)
>        {
>            /*
>            string strMessageForBasePrice="";
>            try
>            {
>                if (decimal.Parse(this.basePriceTextBox.Text) >= 1)
>                {
>                    enableControls();
>                    this.tradeInAllowanceTextBox.Focus();
>                }
>                if (decimal.Parse(this.basePriceTextBox.Text) < 1)
>                {
>                    disableControls();
>                }
>            }
>            catch (FormatException err)
>            {
>                strMessageForBasePrice =
>                    "Non-numeric value was entered for Base Price";
>                MessageBox.Show(strMessageForBasePrice + ". " + err.Message,
>                    "Data Entry Error",
>                    MessageBoxButtons.OK, MessageBoxIcon.Information);
>            }*/
>        }
>        //Rather than repeat the below code several times, I decided to create a method.
>        private void disableControls()
>        {
>            this.stereoCheckBox.Enabled = false;
>            this.leatherInteriorCheckBox.Enabled = false;
>            this.computerNavigationCheckBox.Enabled = false;
>            this.standardFinishRadioButton.Enabled = false;
>            this.pearlizedFinishRadioButton.Enabled = false;
>            this.customizedDetailingRadioButton.Enabled = false;
>            this.tradeInAllowanceTextBox.Enabled = false;
>            this.calculateButton.Enabled = false;
>        }
>
>        private void enableControls()
>        {
>            this.stereoCheckBox.Enabled = true;
>            this.leatherInteriorCheckBox.Enabled = true;
>            this.computerNavigationCheckBox.Enabled = true;
>            this.standardFinishRadioButton.Enabled = true;
>            this.pearlizedFinishRadioButton.Enabled = true;
>            this.customizedDetailingRadioButton.Enabled = true;
>            this.tradeInAllowanceTextBox.Enabled = true;
>            this.calculateButton.Enabled = true;
>        }
>
>        private void basePriceTextBox_Validating(object sender, CancelEventArgs e)
>        {
>            string strMessageForBasePrice = "";
>            try
>            {
>                if (decimal.Parse(this.basePriceTextBox.Text) >= 1)
>                {
>                    enableControls();
>                    this.tradeInAllowanceTextBox.Focus();
>                }
>                if (decimal.Parse(this.basePriceTextBox.Text) < 1)
>                {
>                    disableControls();
>                }
>            }
>            catch (FormatException err)
>            {
>                strMessageForBasePrice =
>                    "Non-numeric value was entered for Base Price";
>                MessageBox.Show(strMessageForBasePrice + ". " + err.Message,
>                    "Data Entry Error",
>                    MessageBoxButtons.OK, MessageBoxIcon.Information);
>            }
>        }
>    }
>}
>
>
Bonnie Berent DeWitt
NET/C# MVP since 2003

http://geek-goddess-bonnie.blogspot.com
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform