TextChanged event only fires when I put my cursor in the textbox and change the text
<p>I have a TextChanged Even on a textbox and when I enter data into it, it updates another textbox which in turn is supposed to fire a TextChanged Event, but it is not firing until I put my cursor in the TextBox.  Is there a solution to this?</p>

<p>Code for updating the Extended Price when Qty Changes:</p>

<pre><code>protected void txtQty1_TextChanged(object sender, EventArgs e)
    {
        if (txtQty1.Text != string.Empty &amp;&amp; txtUnitPrice1.Text != string.Empty)
        {
            int qty = Convert.ToInt32(txtQty1.Text);
            double unitPrice = Convert.ToDouble(txtUnitPrice1.Text);

            double extendTotal1 = qty * unitPrice;

            txtExtPrice1.Text = extendTotal1.ToString();

        }
    }
</code></pre>

<p>Code for updating the extending price When Unit Price changes:</p>

<pre><code>    protected void txtUnitPrice1_TextChanged(object sender, EventArgs e)
    {
        if (txtQty1.Text != string.Empty &amp;&amp; txtUnitPrice1.Text != string.Empty)
        {
            int qty = Convert.ToInt32(txtQty1.Text);
            double unitPrice = Convert.ToDouble(txtUnitPrice1.Text);

            double extendTotal1 = qty * unitPrice;

            txtExtPrice1.Text = extendTotal1.ToString();

        }
    }
</code></pre>

<p>Finally, this should update the Grand Total When Extending Price Changes:</p>

<pre><code> protected void txtExtPrice1_TextChanged(object sender, EventArgs e)
    {

        if (txtExtPrice1.Text != string.Empty)
        {
            double extendedTotal1 = Convert.ToDouble(txtExtPrice1.Text);
            double grandTotal = Convert.ToDouble(txtGrandTotal.Text);

            grandTotal += extendedTotal1;

            txtGrandTotal.Text = grandTotal.ToString();
        }

    }
</code></pre>

<p>Is it true that I should probably make Grand Total a Static Variable?</p>
