title: Firing an event
body: <p>I can't fire an event. Here is my code.
  I tell it that the value I want to know changing is Value with this line:</p>
  
  <pre><code>eventvaluechange.IntValue = value;//link value as the value I want to    see change
  </code></pre>
  
  <p>Then I tell what it will do when the value change happend.</p>
  
  <pre><code>public partial class Form1 : Form
  {
      int value=0;
      int value2=999;
      Val_changeInt eventvaluechange;
      public Form1()
      {
          InitializeComponent();
          eventvaluechange = new Val_changeInt();
          eventvaluechange.IntValue = value;//link value as the value I want to see change
          eventvaluechange.ValueChanged += new EventHandler(ValueHasChanged);//what I do on event
      }
      private void button1_Click(object sender, EventArgs e)
      {
          value = value +1;
      }
      private void ValueHasChanged(object sender, EventArgs e)
      {
          value2 = value;
          label1.Text = value2.ToString();
      }
      class Val_changeInt
      {
          private int valueToWatchOn;
          public event System.EventHandler ValueChanged;
          protected object _lock = new object();
          protected virtual void ValueHasChanged()
          {
              EventHandler eventvaluechange = ValueChanged;
              if (eventvaluechange != null) eventvaluechange(this, EventArgs.Empty);
          }
          public int IntValue
          {
              get { return this.valueToWatchOn; }
              set
              {
                  if (value != this.valueToWatchOn)
                  {//if value changed enter
                      this.valueToWatchOn = value;
                      ValueHasChanged();
                  }
              }
          }
      }//Event handler for a value change
  </code></pre>
  
  <p>What am I doing wrong??</p>
  
  <p>Thanks a lot.</p>