From 28acc8817a7dca9f32940fe4e34b1b5788aa7907 Mon Sep 17 00:00:00 2001 From: CPL <1179393954@qq.com> Date: Mon, 9 Sep 2024 17:54:27 +0800 Subject: [PATCH] =?UTF-8?q?v2.1.3=20=E6=9B=B4=E6=96=B0=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BanBoShi/SysUI/ProcessStep/StepListFrm.cs | 2 +- .../SysUI/ProductAndStep/ProductListFrm.cs | 25 ++++++++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/halftoneproject-master/BanBoShi/SysUI/ProcessStep/StepListFrm.cs b/halftoneproject-master/BanBoShi/SysUI/ProcessStep/StepListFrm.cs index 42f78bc8..632480ff 100644 --- a/halftoneproject-master/BanBoShi/SysUI/ProcessStep/StepListFrm.cs +++ b/halftoneproject-master/BanBoShi/SysUI/ProcessStep/StepListFrm.cs @@ -31,7 +31,7 @@ namespace MaiMuAOI.SysUI.ProcessStep //显示行号与列宽度自动调整 dataGridView1.RowHeadersVisible = true; dataGridView1.RowHeadersWidth = 50; - dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;//数据量过百绑定太变 + dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing;// DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;//数据量过百绑定太变 dataGridView1.RowPostPaint += (sender, e) =>//序号列头 { SysMgr.showRowNum_onDataGrid_RowPostPaint(this.dataGridView1, sender, e); diff --git a/halftoneproject-master/BanBoShi/SysUI/ProductAndStep/ProductListFrm.cs b/halftoneproject-master/BanBoShi/SysUI/ProductAndStep/ProductListFrm.cs index b8395227..9676d55e 100644 --- a/halftoneproject-master/BanBoShi/SysUI/ProductAndStep/ProductListFrm.cs +++ b/halftoneproject-master/BanBoShi/SysUI/ProductAndStep/ProductListFrm.cs @@ -1,4 +1,5 @@ -using MaiMuAOI.SysCtrl; +using HZH_Controls.Controls; +using MaiMuAOI.SysCtrl; using Microsoft.Office.Interop.Excel; using Models; using Newtonsoft.Json; @@ -9,6 +10,7 @@ using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; +using System.Reflection; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; @@ -24,10 +26,20 @@ namespace MaiMuAOI.SysUI.ProductAndStep public ProductListFrm(bool isProductRevise = false) { + //设置窗体的双缓冲 + this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint, true); + this.UpdateStyles(); + InitializeComponent(); UIStyle.SetUIStyle(this); this.uiTitel1.FatherForm = this; + //利用反射设置DataGridView的双缓冲 + Type dgvType = this.dataGridView1.GetType(); + PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", + BindingFlags.Instance | BindingFlags.NonPublic); + pi.SetValue(this.dataGridView1, true, null); + this.tsbtnAdd.Enabled = this.tsbtnDel.Enabled = this.tsbtnSetting.Enabled = !isProductRevise; this.tsbtnRevise.Visible = isProductRevise; if (isProductRevise) @@ -42,7 +54,7 @@ namespace MaiMuAOI.SysUI.ProductAndStep //显示行号与列宽度自动调整 dataGridView1.RowHeadersVisible = true; dataGridView1.RowHeadersWidth = 50; - dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;//数据量过百绑定太变 + dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing;//DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;//数据量过百绑定太变 dataGridView1.RowPostPaint += (sender, e) =>//序号列头 { SysMgr.showRowNum_onDataGrid_RowPostPaint(this.dataGridView1, sender, e); @@ -53,6 +65,9 @@ namespace MaiMuAOI.SysUI.ProductAndStep //行列交叉处标题 //if (dataGridView1.RowHeadersVisible) dataGridView1.TopLeftHeaderCell.Value = "SPH/CYL"; + + dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; + dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; #endregion this.tbSearch.Top = toolStrip1.Top + 15; @@ -67,7 +82,11 @@ namespace MaiMuAOI.SysUI.ProductAndStep if (selIndex > 0) liIndex = selIndex; else if (this.dataGridView1.CurrentRow != null) liIndex = this.dataGridView1.CurrentRow.Index; - dataGridView1.DataSource = new BindingSource(list, null); + + BindingSource bs = new BindingSource(); + bs.DataSource = list; + dataGridView1.DataSource = list; + //dataGridView1.DataSource = new BindingSource(list, null); if (dataGridView1.Rows.Count > liIndex) dataGridView1.CurrentCell = dataGridView1[1, liIndex]; //如果产品存在设置问题,如无图纸,无流程显示颜色