title: PropertyGrid does not raise PropertyValueChanged event
body: <p>When user changes text or bool value in PropertyGrid I set <code>flagModified=true;</code> in event handler:</p>
  
  <pre><code>private void propertyGrid1_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
      {
          propertyGrid1.Refresh();
          PropertyChanged(true);
      } 
  </code></pre>
  
  <p>and then Save button is enabled.</p>
  
  <p>I use my Editor and form (see class below) to edit one of values in Properrtygrid. It is object of my class. 
  After object is changed in editor and editor closed I re-assign value of object to the new value (value = frm.m_DS;). All works fine but one moment: in this case PropertyValueChanged is not raised.
  I use PropertyValueChanged event to enable my button "Save" which saves all properties to file.
  How I can catch event that value is changed and enable Save button?.</p>
  
  <pre><code>public class DataProviderEditor : UITypeEditor
      {
  
          public override Object EditValue(
            ITypeDescriptorContext context,
            IServiceProvider provider,
            Object value)
          {
              if ((context != null) &amp;&amp; (provider != null))
              {
                  IWindowsFormsEditorService svc =
                    (IWindowsFormsEditorService)
                    provider.GetService(typeof(IWindowsFormsEditorService));
  
                  if (svc != null)
                  {
                      using (DatasourceForm frm =
                        new DatasourceForm((MyDatasource)value))
                      {
                          if (svc.ShowDialog(frm) == DialogResult.OK)
                          {
                              value = frm.m_DS;
                          }
                      }
                  }
              }
  
              return base.EditValue(context, provider, value);
          }
  </code></pre>