Index: src/DeltaShell/DeltaShell.Gui/Forms/PropertyGrid/PropertyGrid.Designer.cs
===================================================================
diff -u -r960cfedf9261238cc1bdc27045f01982868eb553 -r01cae4cdf5c3b8dbc3be47098562f0e13fa89d01
--- src/DeltaShell/DeltaShell.Gui/Forms/PropertyGrid/PropertyGrid.Designer.cs (.../PropertyGrid.Designer.cs) (revision 960cfedf9261238cc1bdc27045f01982868eb553)
+++ src/DeltaShell/DeltaShell.Gui/Forms/PropertyGrid/PropertyGrid.Designer.cs (.../PropertyGrid.Designer.cs) (revision 01cae4cdf5c3b8dbc3be47098562f0e13fa89d01)
@@ -13,11 +13,6 @@
/// true if managed resources should be disposed; otherwise, false.
protected override void Dispose(bool disposing)
{
- if (disposing && refreshTimer != null)
- {
- refreshTimer.Dispose();
- }
-
if (disposing && (components != null))
{
components.Dispose();
Index: src/DeltaShell/DeltaShell.Gui/Forms/PropertyGrid/PropertyGrid.cs
===================================================================
diff -u -rc3c85cbf6ee8796f8c7aec00505945f8e611923d -r01cae4cdf5c3b8dbc3be47098562f0e13fa89d01
--- src/DeltaShell/DeltaShell.Gui/Forms/PropertyGrid/PropertyGrid.cs (.../PropertyGrid.cs) (revision c3c85cbf6ee8796f8c7aec00505945f8e611923d)
+++ src/DeltaShell/DeltaShell.Gui/Forms/PropertyGrid/PropertyGrid.cs (.../PropertyGrid.cs) (revision 01cae4cdf5c3b8dbc3be47098562f0e13fa89d01)
@@ -1,21 +1,17 @@
using System;
using System.Collections;
using System.Collections.Generic;
-using System.ComponentModel;
using System.Drawing;
using System.Linq;
-using System.Reflection;
using System.Security.Permissions;
using System.Windows.Forms;
using DelftTools.Controls;
using DelftTools.Shell.Core;
using DelftTools.Shell.Gui;
using DelftTools.Shell.Gui.Forms;
-using DelftTools.Utils.Collections;
using DelftTools.Utils.PropertyBag.Dynamic;
using DeltaShell.Gui.Properties;
using log4net;
-using PropertyInfo = DelftTools.Shell.Gui.PropertyInfo;
namespace DeltaShell.Gui.Forms.PropertyGrid
{
@@ -64,20 +60,6 @@
gui.SelectionChanged += GuiSelectionChanged;
HideTabsButton();
-
- refreshTimer = new Timer();
- refreshTimer.Tick += delegate
- {
- if (IsInEditMode(propertyGrid1))
- {
- return;
- }
- propertyGrid1.Refresh();
- refreshTimer.Stop();
- };
- refreshTimer.Interval = 300;
- refreshTimer.Enabled = true;
- refreshTimer.Start();
}
private void HideTabsButton()
@@ -88,25 +70,9 @@
strip.Items[4].Visible = false;
}
- //from: http://stackoverflow.com/questions/7553423/c-sharp-propertygrid-check-if-a-value-is-currently-beeing-edited
- private static bool IsInEditMode(System.Windows.Forms.PropertyGrid grid)
- {
- if (grid == null)
- {
- throw new ArgumentNullException("grid");
- }
-
-
- var gridView = (Control) grid.GetType().GetField("gridView", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(grid);
- var edit = (Control) gridView.GetType().GetField("edit", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(gridView);
- var dropDownHolder = (Control) gridView.GetType().GetField("dropDownHolder", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(gridView);
-
- return ((edit != null) && (edit.Visible & edit.Focused)) || ((dropDownHolder != null) && (dropDownHolder.Visible));
- }
-
public void UpdateObserver()
{
- refreshTimer.Start();
+ propertyGrid1.Refresh();
}
public object GetObjectProperties(object sourceData)
@@ -151,7 +117,7 @@
public override void Refresh()
{
- refreshTimer.Start();
+ propertyGrid1.Refresh();
}
private object SelectedObject
@@ -322,7 +288,6 @@
#region enable tab key navigation on propertygrid
- private readonly Timer refreshTimer;
private IObservable observableProperty;
///