diff --git a/Bin/net40/SunnyUI.Demo.exe b/Bin/net40/SunnyUI.Demo.exe index 43db3228..08364b82 100644 Binary files a/Bin/net40/SunnyUI.Demo.exe and b/Bin/net40/SunnyUI.Demo.exe differ diff --git a/Bin/net40/SunnyUI.dll b/Bin/net40/SunnyUI.dll index 794e4da9..2e0ccbab 100644 Binary files a/Bin/net40/SunnyUI.dll and b/Bin/net40/SunnyUI.dll differ diff --git a/SunnyUI.Demo/Controls/FDataGridView.Designer.cs b/SunnyUI.Demo/Controls/FDataGridView.Designer.cs index ded007ae..02c9c36a 100644 --- a/SunnyUI.Demo/Controls/FDataGridView.Designer.cs +++ b/SunnyUI.Demo/Controls/FDataGridView.Designer.cs @@ -34,71 +34,15 @@ namespace Sunny.UI.Demo System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - this.uiDataGridView1 = new Sunny.UI.UIDataGridView(); this.uiDataGridViewFooter1 = new Sunny.UI.UIDataGridViewFooter(); this.uiPagination1 = new Sunny.UI.UIPagination(); + this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker(); + this.uiDataGridView1 = new Sunny.UI.UIDataGridView(); ((System.ComponentModel.ISupportInitialize)(this.uiDataGridView1)).BeginInit(); this.SuspendLayout(); // - // uiDataGridView1 - // - this.uiDataGridView1.AllowUserToAddRows = false; - this.uiDataGridView1.AllowUserToResizeRows = false; - dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255))))); - this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; - this.uiDataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; - this.uiDataGridView1.BackgroundColor = System.Drawing.Color.White; - this.uiDataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.uiDataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); - dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F); - dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; - this.uiDataGridView1.ColumnHeadersHeight = 32; - this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 12F); - dataGridViewCellStyle3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); - dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(200)))), ((int)(((byte)(255))))); - dataGridViewCellStyle3.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); - dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle3; - this.uiDataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.uiDataGridView1.EnableHeadersVisualStyles = false; - this.uiDataGridView1.Font = new System.Drawing.Font("微软雅黑", 12F); - this.uiDataGridView1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); - this.uiDataGridView1.Location = new System.Drawing.Point(0, 35); - this.uiDataGridView1.MultiSelect = false; - this.uiDataGridView1.Name = "uiDataGridView1"; - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255))))); - dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 12F); - dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.White; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle4; - this.uiDataGridView1.RowHeadersVisible = false; - this.uiDataGridView1.RowHeight = 29; - dataGridViewCellStyle5.BackColor = System.Drawing.Color.White; - this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle5; - this.uiDataGridView1.RowTemplate.Height = 29; - this.uiDataGridView1.SelectedIndex = -1; - this.uiDataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; - this.uiDataGridView1.ShowGridLine = true; - this.uiDataGridView1.ShowRect = false; - this.uiDataGridView1.Size = new System.Drawing.Size(800, 351); - this.uiDataGridView1.TabIndex = 3; - this.uiDataGridView1.SelectIndexChange += new Sunny.UI.UIDataGridView.OnSelectIndexChange(this.uiDataGridView1_SelectIndexChange); - // // uiDataGridViewFooter1 // - this.uiDataGridViewFooter1.DataGridView = this.uiDataGridView1; this.uiDataGridViewFooter1.Dock = System.Windows.Forms.DockStyle.Bottom; this.uiDataGridViewFooter1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.uiDataGridViewFooter1.Location = new System.Drawing.Point(0, 386); @@ -132,6 +76,54 @@ namespace Sunny.UI.Demo this.uiPagination1.TotalCount = 40000; this.uiPagination1.PageChanged += new Sunny.UI.UIPagination.OnPageChangeEventHandler(this.uiPagination1_PageChanged); // + // uiDataGridView1 + // + dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255))))); + this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.uiDataGridView1.BackgroundColor = System.Drawing.Color.White; + this.uiDataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); + dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.White; + dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); + dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(200)))), ((int)(((byte)(255))))); + dataGridViewCellStyle3.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); + dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle3; + this.uiDataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; + this.uiDataGridView1.EnableHeadersVisualStyles = false; + this.uiDataGridView1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.uiDataGridView1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); + this.uiDataGridView1.Location = new System.Drawing.Point(0, 35); + this.uiDataGridView1.Name = "uiDataGridView1"; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255))))); + dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.White; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle5.BackColor = System.Drawing.Color.White; + dataGridViewCellStyle5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); + dataGridViewCellStyle5.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(200)))), ((int)(((byte)(255))))); + dataGridViewCellStyle5.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); + this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle5; + this.uiDataGridView1.RowTemplate.Height = 23; + this.uiDataGridView1.SelectedIndex = -1; + this.uiDataGridView1.ShowGridLine = true; + this.uiDataGridView1.Size = new System.Drawing.Size(800, 351); + this.uiDataGridView1.TabIndex = 6; + // // FDataGridView // this.AllowShowTitle = true; @@ -151,9 +143,9 @@ namespace Sunny.UI.Demo } #endregion - - private UIDataGridView uiDataGridView1; private UIDataGridViewFooter uiDataGridViewFooter1; private UIPagination uiPagination1; + private System.ComponentModel.BackgroundWorker backgroundWorker1; + private UIDataGridView uiDataGridView1; } } \ No newline at end of file diff --git a/SunnyUI.Demo/Controls/FDataGridView.cs b/SunnyUI.Demo/Controls/FDataGridView.cs index 4f025aa0..9d66f0b3 100644 --- a/SunnyUI.Demo/Controls/FDataGridView.cs +++ b/SunnyUI.Demo/Controls/FDataGridView.cs @@ -31,6 +31,8 @@ namespace Sunny.UI.Demo //设置分页控件每页数量 uiPagination1.PageSize = 50; + + uiDataGridView1.SelectIndexChange += uiDataGridView1_SelectIndexChange; } public override void Init() diff --git a/SunnyUI.Demo/Controls/FDataGridView.resx b/SunnyUI.Demo/Controls/FDataGridView.resx index 1af7de15..59099f26 100644 --- a/SunnyUI.Demo/Controls/FDataGridView.resx +++ b/SunnyUI.Demo/Controls/FDataGridView.resx @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/SunnyUI/Controls/UIDataGridView.cs b/SunnyUI/Controls/UIDataGridView.cs index 17754cca..c0f102aa 100644 --- a/SunnyUI/Controls/UIDataGridView.cs +++ b/SunnyUI/Controls/UIDataGridView.cs @@ -107,6 +107,14 @@ namespace Sunny.UI if (!IsScaled) { this.SetDPIScaleFont(); + if (ColumnHeadersDefaultCellStyle.Font != null) + ColumnHeadersDefaultCellStyle.Font = ColumnHeadersDefaultCellStyle.Font.DPIScaleFont(); + if (RowHeadersDefaultCellStyle.Font != null) + RowHeadersDefaultCellStyle.Font = RowHeadersDefaultCellStyle.Font.DPIScaleFont(); + if (DefaultCellStyle.Font != null) + DefaultCellStyle.Font = DefaultCellStyle.Font.DPIScaleFont(); + if (RowsDefaultCellStyle.Font != null) + RowsDefaultCellStyle.Font = RowsDefaultCellStyle.Font.DPIScaleFont(); IsScaled = true; } } @@ -180,7 +188,6 @@ namespace Sunny.UI } } - [Description("行高"), Category("SunnyUI")] [DefaultValue(23)] public int RowHeight @@ -188,10 +195,12 @@ namespace Sunny.UI get => RowTemplate.Height; set { - int rowHeight = Math.Max(23, value); - RowTemplate.Height = rowHeight; - RowTemplate.MinimumHeight = rowHeight; - AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; + if (value > 23) + { + RowTemplate.Height = Math.Max(23, value); + RowTemplate.MinimumHeight = Math.Max(23, value); + AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; + } } } @@ -494,7 +503,6 @@ namespace Sunny.UI set { AlternatingRowsDefaultCellStyle.BackColor = value; - HBar.FillColor = VBar.FillColor = value; Invalidate(); } } @@ -519,9 +527,16 @@ namespace Sunny.UI RowHeadersDefaultCellStyle.SelectionBackColor = uiColor.RectColor; RowHeadersDefaultCellStyle.SelectionForeColor = Color.White; - //数据行选中颜色 + //数据单元格选中颜色 DefaultCellStyle.SelectionBackColor = uiColor.GridSelectedColor; DefaultCellStyle.SelectionForeColor = uiColor.GridSelectedForeColor; + DefaultCellStyle.BackColor = uiColor.GridStripeEvenColor; + DefaultCellStyle.ForeColor = UIFontColor.Primary; + + //数据行选中颜色 + RowsDefaultCellStyle.SelectionBackColor = uiColor.GridSelectedColor; + RowsDefaultCellStyle.SelectionForeColor = uiColor.GridSelectedForeColor; + RowsDefaultCellStyle.ForeColor = UIFontColor.Primary; GridColor = RectColor = uiColor.RectColor; RowsDefaultCellStyle.BackColor = UIColor.White; diff --git a/SunnyUI/Controls/UISplitContainer.cs b/SunnyUI/Controls/UISplitContainer.cs index 496deebc..386191b9 100644 --- a/SunnyUI/Controls/UISplitContainer.cs +++ b/SunnyUI/Controls/UISplitContainer.cs @@ -242,6 +242,13 @@ namespace Sunny.UI } } + protected override void OnSizeChanged(EventArgs e) + { + base.OnSizeChanged(e); + Invalidate(); + Invalidate(SplitterRectangle); + } + public void Expand() { if (_collapsePanel != UICollapsePanel.None &&