diff --git a/DS_Map/DS Map.csproj b/DS_Map/DS Map.csproj index b9de5e4..ddf39c7 100644 --- a/DS_Map/DS Map.csproj +++ b/DS_Map/DS Map.csproj @@ -92,7 +92,6 @@ - True @@ -180,6 +179,9 @@ + + Component + diff --git a/DS_Map/DataGridViewDoubleBuffered.cs b/DS_Map/DataGridViewDoubleBuffered.cs new file mode 100644 index 0000000..3a9641e --- /dev/null +++ b/DS_Map/DataGridViewDoubleBuffered.cs @@ -0,0 +1,12 @@ +// DataGridView with double buffering to speed up performance + +using System.Windows.Forms; + +namespace DSPRE +{ + public class DataGridViewDoubleBuffered : DataGridView { + public DataGridViewDoubleBuffered() { + DoubleBuffered = true; + } + } +} \ No newline at end of file diff --git a/DS_Map/ExtensionMethods.cs b/DS_Map/ExtensionMethods.cs deleted file mode 100644 index 1f812dd..0000000 --- a/DS_Map/ExtensionMethods.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace DSPRE { - public static class ExtensionMethods { - public static void DoubleBuffered(this DataGridView dgv, bool setting) { - Type dgvType = dgv.GetType(); - PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic); - pi.SetValue(dgv, setting, null); - } - } -} diff --git a/DS_Map/Main Window.Designer.cs b/DS_Map/Main Window.Designer.cs index bd3f421..0982bb3 100644 --- a/DS_Map/Main Window.Designer.cs +++ b/DS_Map/Main Window.Designer.cs @@ -592,9 +592,9 @@ this.headerSearchToolStripButton = new System.Windows.Forms.ToolStripButton(); this.versionLabel = new System.Windows.Forms.Label(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.headersGridView = new System.Windows.Forms.DataGridView(); - this.heightsGridView = new System.Windows.Forms.DataGridView(); - this.mapFilesGridView = new System.Windows.Forms.DataGridView(); + this.headersGridView = new DSPRE.DataGridViewDoubleBuffered(); + this.heightsGridView = new DSPRE.DataGridViewDoubleBuffered(); + this.mapFilesGridView = new DSPRE.DataGridViewDoubleBuffered(); this.mainTabControl.SuspendLayout(); this.headerEditorTabPage.SuspendLayout(); this.worldmapCoordsGroupBox.SuspendLayout(); @@ -7424,7 +7424,6 @@ // // headersGridView // - this.headersGridView.DoubleBuffered(true); this.headersGridView.AllowUserToAddRows = false; this.headersGridView.AllowUserToDeleteRows = false; this.headersGridView.AllowUserToResizeColumns = false; @@ -7481,7 +7480,6 @@ // // heightsGridView // - this.heightsGridView.DoubleBuffered(true); this.heightsGridView.AllowUserToAddRows = false; this.heightsGridView.AllowUserToDeleteRows = false; this.heightsGridView.AllowUserToResizeColumns = false; @@ -7536,7 +7534,6 @@ // // mapFilesGridView // - this.mapFilesGridView.DoubleBuffered(true); this.mapFilesGridView.AllowUserToAddRows = false; this.mapFilesGridView.AllowUserToDeleteRows = false; this.mapFilesGridView.AllowUserToResizeColumns = false; @@ -7825,9 +7822,9 @@ private System.Windows.Forms.TabControl matrixTabControl; private System.Windows.Forms.TabPage headersTabPage; private System.Windows.Forms.TabPage heightsTabPage; - private System.Windows.Forms.DataGridView heightsGridView; + private DSPRE.DataGridViewDoubleBuffered heightsGridView; private System.Windows.Forms.TabPage mapFilesTabPage; - private System.Windows.Forms.DataGridView mapFilesGridView; + private DSPRE.DataGridViewDoubleBuffered mapFilesGridView; private System.Windows.Forms.TextBox matrixNameTextBox; private System.Windows.Forms.NumericUpDown heightUpDown; private System.Windows.Forms.NumericUpDown widthUpDown; @@ -7835,7 +7832,7 @@ private System.Windows.Forms.Label widthLabel; private System.Windows.Forms.ComboBox selectMatrixComboBox; private System.Windows.Forms.Button saveMatrixButton; - private System.Windows.Forms.DataGridView headersGridView; + private DSPRE.DataGridViewDoubleBuffered headersGridView; private System.Windows.Forms.Button addHeadersButton; private System.Windows.Forms.Button addHeightsButton; private System.Windows.Forms.Button removeHeadersButton; diff --git a/DS_Map/Main Window.cs b/DS_Map/Main Window.cs index 256b462..b3fa992 100644 --- a/DS_Map/Main Window.cs +++ b/DS_Map/Main Window.cs @@ -2340,7 +2340,7 @@ namespace DSPRE { if (disableHandlers) return; disableHandlers = true; - + /* Add or remove rows in DataGridView control */ int delta = (int)widthUpDown.Value - currentMatrix.width; for (int i = 0; i < Math.Abs(delta); i++) {