From d9190e94184bc382477414c33a957a560016a362 Mon Sep 17 00:00:00 2001 From: ww-rm Date: Thu, 20 Mar 2025 20:30:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BE=E6=A0=87=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controls/SpineListView.Designer.cs | 28 +++++++++---------- SpineViewer/Controls/SpineListView.cs | 13 +++++++-- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/SpineViewer/Controls/SpineListView.Designer.cs b/SpineViewer/Controls/SpineListView.Designer.cs index 1eb67b9..886a86a 100644 --- a/SpineViewer/Controls/SpineListView.Designer.cs +++ b/SpineViewer/Controls/SpineListView.Designer.cs @@ -49,7 +49,7 @@ toolStripSeparator4 = new ToolStripSeparator(); toolStripMenuItem_ChangeView = new ToolStripMenuItem(); toolStripMenuItem_LargeIconView = new ToolStripMenuItem(); - toolStripMenuItem_SmallIconView = new ToolStripMenuItem(); + toolStripMenuItem_ListView = new ToolStripMenuItem(); toolStripMenuItem_DetailsView = new ToolStripMenuItem(); imageList_LargeIcon = new ImageList(components); imageList_SmallIcon = new ImageList(components); @@ -58,8 +58,8 @@ // // listView // + listView.Alignment = ListViewAlignment.Left; listView.AllowDrop = true; - listView.AutoArrange = false; listView.Columns.AddRange(new ColumnHeader[] { columnHeader_Name }); listView.ContextMenuStrip = contextMenuStrip; listView.Dock = DockStyle.Fill; @@ -90,7 +90,7 @@ contextMenuStrip.ImageScalingSize = new Size(24, 24); contextMenuStrip.Items.AddRange(new ToolStripItem[] { toolStripMenuItem_Add, toolStripMenuItem_Insert, toolStripMenuItem_Remove, toolStripSeparator1, toolStripMenuItem_BatchAdd, toolStripMenuItem_RemoveAll, toolStripSeparator2, toolStripMenuItem_MoveUp, toolStripMenuItem_MoveDown, toolStripMenuItem_MoveTop, toolStripMenuItem_MoveBottom, toolStripSeparator3, toolStripMenuItem_SelectAll, toolStripMenuItem_CopyPreview, toolStripSeparator4, toolStripMenuItem_ChangeView }); contextMenuStrip.Name = "contextMenuStrip"; - contextMenuStrip.Size = new Size(329, 421); + contextMenuStrip.Size = new Size(329, 388); contextMenuStrip.Closed += contextMenuStrip_Closed; contextMenuStrip.Opening += contextMenuStrip_Opening; // @@ -200,7 +200,7 @@ // // toolStripMenuItem_ChangeView // - toolStripMenuItem_ChangeView.DropDownItems.AddRange(new ToolStripItem[] { toolStripMenuItem_LargeIconView, toolStripMenuItem_SmallIconView, toolStripMenuItem_DetailsView }); + toolStripMenuItem_ChangeView.DropDownItems.AddRange(new ToolStripItem[] { toolStripMenuItem_LargeIconView, toolStripMenuItem_ListView, toolStripMenuItem_DetailsView }); toolStripMenuItem_ChangeView.Name = "toolStripMenuItem_ChangeView"; toolStripMenuItem_ChangeView.Size = new Size(328, 30); toolStripMenuItem_ChangeView.Text = "切换视图"; @@ -209,24 +209,24 @@ // toolStripMenuItem_LargeIconView.Name = "toolStripMenuItem_LargeIconView"; toolStripMenuItem_LargeIconView.ShortcutKeys = Keys.Alt | Keys.D1; - toolStripMenuItem_LargeIconView.Size = new Size(223, 34); + toolStripMenuItem_LargeIconView.Size = new Size(241, 34); toolStripMenuItem_LargeIconView.Text = "大图标"; toolStripMenuItem_LargeIconView.Click += toolStripMenuItem_LargeIconView_Click; // - // toolStripMenuItem_SmallIconView + // toolStripMenuItem_ListView // - toolStripMenuItem_SmallIconView.Name = "toolStripMenuItem_SmallIconView"; - toolStripMenuItem_SmallIconView.ShortcutKeys = Keys.Alt | Keys.D2; - toolStripMenuItem_SmallIconView.Size = new Size(223, 34); - toolStripMenuItem_SmallIconView.Text = "小图标"; - toolStripMenuItem_SmallIconView.Click += toolStripMenuItem_SmallIconView_Click; + toolStripMenuItem_ListView.Name = "toolStripMenuItem_ListView"; + toolStripMenuItem_ListView.ShortcutKeys = Keys.Alt | Keys.D2; + toolStripMenuItem_ListView.Size = new Size(241, 34); + toolStripMenuItem_ListView.Text = "列表"; + toolStripMenuItem_ListView.Click += toolStripMenuItem_ListView_Click; // // toolStripMenuItem_DetailsView // toolStripMenuItem_DetailsView.Name = "toolStripMenuItem_DetailsView"; toolStripMenuItem_DetailsView.ShortcutKeys = Keys.Alt | Keys.D3; - toolStripMenuItem_DetailsView.Size = new Size(223, 34); - toolStripMenuItem_DetailsView.Text = "列表"; + toolStripMenuItem_DetailsView.Size = new Size(241, 34); + toolStripMenuItem_DetailsView.Text = "详细信息"; toolStripMenuItem_DetailsView.Click += toolStripMenuItem_DetailsView_Click; // // imageList_LargeIcon @@ -270,7 +270,7 @@ private ToolStripSeparator toolStripSeparator3; private ToolStripMenuItem toolStripMenuItem_ChangeView; private ToolStripMenuItem toolStripMenuItem_LargeIconView; - private ToolStripMenuItem toolStripMenuItem_SmallIconView; + private ToolStripMenuItem toolStripMenuItem_ListView; private ToolStripMenuItem toolStripMenuItem_DetailsView; private ToolStripMenuItem toolStripMenuItem_MoveTop; private ToolStripMenuItem toolStripMenuItem_MoveBottom; diff --git a/SpineViewer/Controls/SpineListView.cs b/SpineViewer/Controls/SpineListView.cs index b05ac23..8cfd885 100644 --- a/SpineViewer/Controls/SpineListView.cs +++ b/SpineViewer/Controls/SpineListView.cs @@ -107,6 +107,13 @@ namespace SpineViewer.Controls } } + // BUG: 图标显示的时候没法自动刷新顺序, 只能切换视图刷新, 不知道什么原理 + listView.BeginUpdate(); + var tmp = listView.View; + listView.View = View.List; + listView.View = tmp; + listView.EndUpdate(); + if (listView.SelectedItems.Count > 0) listView.SelectedItems[0].EnsureVisible(); } @@ -223,7 +230,7 @@ namespace SpineViewer.Controls // 视图选项 toolStripMenuItem_LargeIconView.Checked = listView.View == View.LargeIcon; - toolStripMenuItem_SmallIconView.Checked = listView.View == View.SmallIcon; + toolStripMenuItem_ListView.Checked = listView.View == View.List; toolStripMenuItem_DetailsView.Checked = listView.View == View.Details; } @@ -407,9 +414,9 @@ namespace SpineViewer.Controls listView.View = View.LargeIcon; } - private void toolStripMenuItem_SmallIconView_Click(object sender, EventArgs e) + private void toolStripMenuItem_ListView_Click(object sender, EventArgs e) { - listView.View = View.SmallIcon; + listView.View = View.List; } private void toolStripMenuItem_DetailsView_Click(object sender, EventArgs e)