From 9e44a95ba23c3acc582a4bd5915781f408c52b7d Mon Sep 17 00:00:00 2001 From: Robert McRackan Date: Thu, 29 Jul 2021 10:57:55 -0400 Subject: [PATCH] Double buffer grid --- LibationLauncher/LibationLauncher.csproj | 2 +- LibationWinForms/ProductsGrid.cs | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/LibationLauncher/LibationLauncher.csproj b/LibationLauncher/LibationLauncher.csproj index 6235c009..0daa0dae 100644 --- a/LibationLauncher/LibationLauncher.csproj +++ b/LibationLauncher/LibationLauncher.csproj @@ -13,7 +13,7 @@ win-x64 - 5.4.5.1 + 5.4.6.1 diff --git a/LibationWinForms/ProductsGrid.cs b/LibationWinForms/ProductsGrid.cs index 7defd867..19043cc3 100644 --- a/LibationWinForms/ProductsGrid.cs +++ b/LibationWinForms/ProductsGrid.cs @@ -39,15 +39,26 @@ namespace LibationWinForms public ProductsGrid() { InitializeComponent(); - formatDataGridView(); - addLiberateButtons(); - addEditTagsButtons(); - formatColumns(); + formatDataGridView(); + addLiberateButtons(); + addEditTagsButtons(); + formatColumns(); manageLiveImageUpdateSubscriptions(); + + enableDoubleBuffering(); } - private void formatDataGridView() + private void enableDoubleBuffering() + { + var propertyInfo = dataGridView.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); + + //var before = (bool)propertyInfo.GetValue(dataGridView); + propertyInfo.SetValue(dataGridView, true, null); + //var after = (bool)propertyInfo.GetValue(dataGridView); + } + + private void formatDataGridView() { dataGridView.Dock = DockStyle.Fill; dataGridView.AllowUserToAddRows = false;