Thread: understanding events

  1. #1
    Registered User
    Join Date
    Oct 2010

    understanding events

    Another Home work problem, but have been at it a bit so thought I would throw something up.

    I have defined a custom control that has an event that is called BoolChanged that should be triggered when the bool DecimalPointAllowed is changed to false by a check box. When the event is triggered a label shoud let us know that that the "Decimal point is allowed"

    The checked check box is changing the DecimalPointAlowed to false, but the even is not being triggered and the label is not changing.

    This is the custom control with the event.

        public class DoubleValueEdit : TextBox
            internal delegate void MyBoolValueChanged(bool Was, string result);
            internal event MyBoolValueChanged BoolChanged;
            public bool DecimalPointAllowed;
            string a = "a";
            public double Value
                    double Val;
                    if (double.TryParse(Text, out Val))
                        return Val;
                        return 0;
                    Text = value.ToString();
                    if ((DecimalPointAllowed = true) && (BoolChanged != null))
                        BoolChanged(DecimalPointAllowed, a);
    Here is the Check box code and label that should change upon checking the checkbox. By calling the event based on the bool value changing.
        public partial class Form1 : Form
            string result2;
            public Form1()
            private void doubleValueEdit1_TextChanged(object sender, EventArgs e)
                dvLabel.Text = doubleValueEdit1.Value.ToString();
                doubleValueEdit1.BoolChanged += new DoubleValueEdit.MyBoolValueChanged(doubleValueEdit1_BoolChanged);
            void doubleValueEdit1_BoolChanged(bool Was, string result)
                result2 = Was.ToString() + result + "Decimal Point Allowed";
            private void ChBoolValCheckBox_CheckedChanged(object sender, EventArgs e)
                if (ChBoolValCheckBox.Checked)
                    doubleValueEdit1.DecimalPointAllowed = false;
    Last edited by jefcoatv; 04-02-2011 at 04:37 PM.

  2. #2
    Registered User valaris's Avatar
    Join Date
    Jun 2008
    RING 0
    if ((DecimalPointAllowed = true) && (BoolChanged != null))
    change that to ==

    Also you have to actually set Value property to something to get your event to fire to listeners.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Help Understanding Some Basics
    By TheProfessor in forum C Programming
    Replies: 2
    Last Post: 10-02-2010, 11:58 AM
  2. Embed browser dont receives mouse "click" events
    By aniquilator in forum Windows Programming
    Replies: 2
    Last Post: 01-25-2010, 07:41 AM
  3. Reliable UDP communication for merging events in a distributed system
    By dwks in forum Networking/Device Communication
    Replies: 1
    Last Post: 12-26-2009, 05:36 PM
  4. understanding recursive functions
    By houler in forum C Programming
    Replies: 7
    Last Post: 12-09-2004, 12:56 PM
  5. seismic events program
    By santaclaus in forum C Programming
    Replies: 16
    Last Post: 11-23-2003, 03:23 PM