From 9577005f2addda8a350e40c77055b77d3b083f58 Mon Sep 17 00:00:00 2001 From: yangyin <1850366751@qq.com> Date: 星期三, 06 十一月 2024 16:45:27 +0800 Subject: [PATCH] 添加layer --- WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.cs | 66 ++++++++++++---- WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.Designer.cs | 117 +++++++++++++++++++++++----- WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.resx | 16 +++ 3 files changed, 157 insertions(+), 42 deletions(-) diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.Designer.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.Designer.cs index 1d27111..46bca78 100644 --- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.Designer.cs +++ b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.Designer.cs @@ -30,37 +30,104 @@ /// </summary> private void InitializeComponent() { - lstLayers = new CrownListView(); - cmbList = new CrownDropDownList(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + GridViewLayers = new PoisonDataGridView(); + colorDialog1 = new System.Windows.Forms.ColorDialog(); + Color = new System.Windows.Forms.DataGridViewImageColumn(); + layer = new System.Windows.Forms.DataGridViewTextBoxColumn(); + visible = new System.Windows.Forms.DataGridViewImageColumn(); + ((System.ComponentModel.ISupportInitialize)GridViewLayers).BeginInit(); SuspendLayout(); // - // lstLayers + // GridViewLayers // - lstLayers.Dock = System.Windows.Forms.DockStyle.Fill; - lstLayers.HideScrollBars = false; - lstLayers.Location = new System.Drawing.Point(0, 51); - lstLayers.Name = "lstLayers"; - lstLayers.ShowIcons = true; - lstLayers.Size = new System.Drawing.Size(280, 399); - lstLayers.TabIndex = 0; - lstLayers.Text = "crownListView1"; + GridViewLayers.AllowUserToAddRows = false; + GridViewLayers.AllowUserToDeleteRows = false; + GridViewLayers.AllowUserToResizeRows = false; + GridViewLayers.BackgroundColor = System.Drawing.Color.White; + GridViewLayers.BorderStyle = System.Windows.Forms.BorderStyle.None; + GridViewLayers.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; + GridViewLayers.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Sunken; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(59, 102, 150); + dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); + dataGridViewCellStyle1.ForeColor = System.Drawing.Color.FromArgb(255, 255, 255); + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.Color.FromArgb(85, 127, 176); + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.Color.FromArgb(17, 17, 17); + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + GridViewLayers.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; + GridViewLayers.ColumnHeadersHeight = 20; + GridViewLayers.ColumnHeadersVisible = false; + GridViewLayers.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { Color, layer, visible }); + dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopLeft; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(255, 255, 255); + dataGridViewCellStyle3.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); + dataGridViewCellStyle3.ForeColor = System.Drawing.Color.FromArgb(136, 136, 136); + dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(75, 110, 175); + dataGridViewCellStyle3.SelectionForeColor = System.Drawing.Color.FromArgb(17, 17, 17); + dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + GridViewLayers.DefaultCellStyle = dataGridViewCellStyle3; + GridViewLayers.Dock = System.Windows.Forms.DockStyle.Fill; + GridViewLayers.EnableHeadersVisualStyles = false; + GridViewLayers.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); + GridViewLayers.GridColor = System.Drawing.Color.FromArgb(255, 255, 255); + GridViewLayers.Location = new System.Drawing.Point(0, 25); + GridViewLayers.Name = "GridViewLayers"; + GridViewLayers.ReadOnly = true; + GridViewLayers.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.Color.White; + dataGridViewCellStyle4.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); + dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(255, 255, 255); + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(75, 110, 175); + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.FromArgb(17, 17, 17); + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + GridViewLayers.RowHeadersDefaultCellStyle = dataGridViewCellStyle4; + GridViewLayers.RowHeadersVisible = false; + GridViewLayers.RowHeadersWidth = 20; + GridViewLayers.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; + GridViewLayers.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + GridViewLayers.Size = new System.Drawing.Size(280, 425); + GridViewLayers.TabIndex = 0; + GridViewLayers.CellContentClick += GridViewLayers_CellContentClick; // - // cmbList + // Color // - cmbList.Dock = System.Windows.Forms.DockStyle.Top; - cmbList.Location = new System.Drawing.Point(0, 25); - cmbList.Name = "cmbList"; - cmbList.ShowBorder = false; - cmbList.Size = new System.Drawing.Size(280, 26); - cmbList.TabIndex = 1; - cmbList.Text = "crownDropdownList1"; + Color.HeaderText = "棰滆壊"; + Color.Name = "Color"; + Color.ReadOnly = true; + Color.Width = 40; + // + // layer + // + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle2.ForeColor = System.Drawing.Color.Black; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.Color.White; + layer.DefaultCellStyle = dataGridViewCellStyle2; + layer.HeaderText = "鍥惧眰"; + layer.Name = "layer"; + layer.ReadOnly = true; + layer.Resizable = System.Windows.Forms.DataGridViewTriState.True; + layer.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + layer.Width = 125; + // + // visible + // + visible.HeaderText = "鏄剧ず\\闅愯棌"; + visible.Name = "visible"; + visible.ReadOnly = true; + visible.Resizable = System.Windows.Forms.DataGridViewTriState.True; + visible.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + visible.Width = 40; // // LayersDockPanel // AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; - Controls.Add(lstLayers); - Controls.Add(cmbList); + Controls.Add(GridViewLayers); DefaultDockArea = RLT.Enum.Crown.DockArea.Left; DockText = "Layers"; Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 0); @@ -68,12 +135,16 @@ Name = "LayersDockPanel"; SerializationKey = "DockLayers"; Size = new System.Drawing.Size(280, 450); + ((System.ComponentModel.ISupportInitialize)GridViewLayers).EndInit(); ResumeLayout(false); } #endregion - private CrownListView lstLayers; - private CrownDropDownList cmbList; + private PoisonDataGridView GridViewLayers; + private System.Windows.Forms.ColorDialog colorDialog1; + private System.Windows.Forms.DataGridViewImageColumn Color; + private System.Windows.Forms.DataGridViewTextBoxColumn layer; + private System.Windows.Forms.DataGridViewImageColumn visible; } } diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.cs index c83676e..6eb40be 100644 --- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.cs +++ b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.cs @@ -1,33 +1,65 @@ 锘縰sing DPumpHydr.WinFrmUI.RLT.Child.Crown; +using DPumpHydr.WinFrmUI.RLT.Controls; using DPumpHydr.WinFrmUI.RLT.Docking.Crown; +using System.Drawing; +using System.Windows.Forms; namespace DPumpHydr.WinFrmUI.Volute { public partial class LayersDockPanel : CrownToolWindow { - #region Constructor Region public LayersDockPanel() { InitializeComponent(); this.SerializationKey = "LayersDockPanel"; - // Build dummy list data - //for (int i = 0; i < 100; i++) - //{ - // CrownListItem item = new($"List item #{i}") - // { - // Icon = DPumpHydr.WinFrmUI.Volute.Properties.Resources.application_16x - // }; - // lstLayers.Items.Add(item); - //} - - //// Build dropdown list data - //for (int i = 0; i < 5; i++) - //{ - // cmbList.Items.Add(new CrownDropDownItem($"Dropdown item #{i}")); - //} + visible.Image = imagevisible; + Color AcquiesceColor = ColorTranslator.FromHtml("#a7ebcc"); + Color.Image = Drawicon(AcquiesceColor); + GridViewLayers.Rows.Add(); + GridViewLayers.Rows.Add(); + GridViewLayers.Rows.Add(); + GridViewLayers.Rows[0].Cells["layer"].Value = "鍥惧眰鍥惧眰鍥惧眰鍥惧眰"; + GridViewLayers.Rows[1].Cells["layer"].Value = "鍥惧眰2"; + GridViewLayers.Rows[2].Cells["layer"].Value = "鍥惧眰3"; } - #endregion + private Bitmap Drawicon(Color color) + { + Bitmap colorImage = new Bitmap(20, 20); + using (Graphics g = Graphics.FromImage(colorImage)) + { + Color myColor = color; + g.Clear(myColor); + } + return colorImage; + } + private Image imageHidden = GlobalResource.BuildImage("Generic-Hidden.png", 20, 20); + private Image imagevisible = GlobalResource.BuildImage("Generic-Visible.png", 20, 20); + private void GridViewLayers_CellContentClick(object sender, System.Windows.Forms.DataGridViewCellEventArgs e) + { + if (e.ColumnIndex == 0) + { + if (colorDialog1.ShowDialog() == DialogResult.OK) + { + GridViewLayers.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = Drawicon(colorDialog1.Color); + } + + } + if (e.ColumnIndex == 2) + { + if (GridViewLayers.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == imageHidden) + { + GridViewLayers.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = imagevisible; + return; + } + else + { + GridViewLayers.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = imageHidden; + return; + } + + } + } } } \ No newline at end of file diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.resx b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.resx index 8b2ff64..daed069 100644 --- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.resx +++ b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/Occ/LayersDockPanel.resx @@ -1,7 +1,7 @@ 锘�<?xml version="1.0" encoding="utf-8"?> <root> <!-- - Microsoft ResX Schema + Microsoft ResX Schema Version 2.0 @@ -48,7 +48,7 @@ value : The object must be serialized with : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. - + mimetype: application/x-microsoft.net.object.soap.base64 value : The object must be serialized with : System.Runtime.Serialization.Formatters.Soap.SoapFormatter @@ -117,4 +117,16 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> + <metadata name="Color.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="layer.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="visible.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="colorDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> </root> \ No newline at end of file -- Gitblit v1.9.3