增加置顶

This commit is contained in:
ww-rm
2025-03-19 17:07:47 +08:00
parent 8de00cad76
commit 5cf30f391b
3 changed files with 44 additions and 18 deletions

View File

@@ -48,6 +48,7 @@
toolStripMenuItem_DetailsView = new ToolStripMenuItem(); toolStripMenuItem_DetailsView = new ToolStripMenuItem();
imageList_LargeIcon = new ImageList(components); imageList_LargeIcon = new ImageList(components);
imageList_SmallIcon = new ImageList(components); imageList_SmallIcon = new ImageList(components);
toolStripMenuItem_MoveTop = new ToolStripMenuItem();
contextMenuStrip.SuspendLayout(); contextMenuStrip.SuspendLayout();
SuspendLayout(); SuspendLayout();
// //
@@ -82,15 +83,15 @@
// contextMenuStrip // contextMenuStrip
// //
contextMenuStrip.ImageScalingSize = new Size(24, 24); contextMenuStrip.ImageScalingSize = new Size(24, 24);
contextMenuStrip.Items.AddRange(new ToolStripItem[] { toolStripMenuItem_Add, toolStripMenuItem_Insert, toolStripMenuItem_Remove, toolStripSeparator1, toolStripMenuItem_MoveUp, toolStripMenuItem_MoveDown, toolStripSeparator2, toolStripMenuItem_BatchAdd, toolStripMenuItem_RemoveAll, toolStripSeparator3, toolStripMenuItem_ChangeView }); contextMenuStrip.Items.AddRange(new ToolStripItem[] { toolStripMenuItem_Add, toolStripMenuItem_Insert, toolStripMenuItem_Remove, toolStripSeparator1, toolStripMenuItem_MoveTop, toolStripMenuItem_MoveUp, toolStripMenuItem_MoveDown, toolStripSeparator2, toolStripMenuItem_BatchAdd, toolStripMenuItem_RemoveAll, toolStripSeparator3, toolStripMenuItem_ChangeView });
contextMenuStrip.Name = "contextMenuStrip"; contextMenuStrip.Name = "contextMenuStrip";
contextMenuStrip.Size = new Size(188, 262); contextMenuStrip.Size = new Size(241, 325);
contextMenuStrip.Opening += contextMenuStrip_Opening; contextMenuStrip.Opening += contextMenuStrip_Opening;
// //
// toolStripMenuItem_Add // toolStripMenuItem_Add
// //
toolStripMenuItem_Add.Name = "toolStripMenuItem_Add"; toolStripMenuItem_Add.Name = "toolStripMenuItem_Add";
toolStripMenuItem_Add.Size = new Size(187, 30); toolStripMenuItem_Add.Size = new Size(240, 30);
toolStripMenuItem_Add.Text = "添加(&A)..."; toolStripMenuItem_Add.Text = "添加(&A)...";
toolStripMenuItem_Add.Click += toolStripMenuItem_Add_Click; toolStripMenuItem_Add.Click += toolStripMenuItem_Add_Click;
// //
@@ -98,7 +99,7 @@
// //
toolStripMenuItem_Insert.Enabled = false; toolStripMenuItem_Insert.Enabled = false;
toolStripMenuItem_Insert.Name = "toolStripMenuItem_Insert"; toolStripMenuItem_Insert.Name = "toolStripMenuItem_Insert";
toolStripMenuItem_Insert.Size = new Size(187, 30); toolStripMenuItem_Insert.Size = new Size(240, 30);
toolStripMenuItem_Insert.Text = "插入(&I)..."; toolStripMenuItem_Insert.Text = "插入(&I)...";
toolStripMenuItem_Insert.Click += toolStripMenuItem_Insert_Click; toolStripMenuItem_Insert.Click += toolStripMenuItem_Insert_Click;
// //
@@ -106,38 +107,38 @@
// //
toolStripMenuItem_Remove.Enabled = false; toolStripMenuItem_Remove.Enabled = false;
toolStripMenuItem_Remove.Name = "toolStripMenuItem_Remove"; toolStripMenuItem_Remove.Name = "toolStripMenuItem_Remove";
toolStripMenuItem_Remove.Size = new Size(187, 30); toolStripMenuItem_Remove.Size = new Size(240, 30);
toolStripMenuItem_Remove.Text = "移除(&R)"; toolStripMenuItem_Remove.Text = "移除(&R)";
toolStripMenuItem_Remove.Click += toolStripMenuItem_Remove_Click; toolStripMenuItem_Remove.Click += toolStripMenuItem_Remove_Click;
// //
// toolStripSeparator1 // toolStripSeparator1
// //
toolStripSeparator1.Name = "toolStripSeparator1"; toolStripSeparator1.Name = "toolStripSeparator1";
toolStripSeparator1.Size = new Size(184, 6); toolStripSeparator1.Size = new Size(237, 6);
// //
// toolStripMenuItem_MoveUp // toolStripMenuItem_MoveUp
// //
toolStripMenuItem_MoveUp.Name = "toolStripMenuItem_MoveUp"; toolStripMenuItem_MoveUp.Name = "toolStripMenuItem_MoveUp";
toolStripMenuItem_MoveUp.Size = new Size(187, 30); toolStripMenuItem_MoveUp.Size = new Size(240, 30);
toolStripMenuItem_MoveUp.Text = "上移(&U)"; toolStripMenuItem_MoveUp.Text = "上移(&U)";
toolStripMenuItem_MoveUp.Click += toolStripMenuItem_MoveUp_Click; toolStripMenuItem_MoveUp.Click += toolStripMenuItem_MoveUp_Click;
// //
// toolStripMenuItem_MoveDown // toolStripMenuItem_MoveDown
// //
toolStripMenuItem_MoveDown.Name = "toolStripMenuItem_MoveDown"; toolStripMenuItem_MoveDown.Name = "toolStripMenuItem_MoveDown";
toolStripMenuItem_MoveDown.Size = new Size(187, 30); toolStripMenuItem_MoveDown.Size = new Size(240, 30);
toolStripMenuItem_MoveDown.Text = "下移(&D)"; toolStripMenuItem_MoveDown.Text = "下移(&D)";
toolStripMenuItem_MoveDown.Click += toolStripMenuItem_MoveDown_Click; toolStripMenuItem_MoveDown.Click += toolStripMenuItem_MoveDown_Click;
// //
// toolStripSeparator2 // toolStripSeparator2
// //
toolStripSeparator2.Name = "toolStripSeparator2"; toolStripSeparator2.Name = "toolStripSeparator2";
toolStripSeparator2.Size = new Size(184, 6); toolStripSeparator2.Size = new Size(237, 6);
// //
// toolStripMenuItem_BatchAdd // toolStripMenuItem_BatchAdd
// //
toolStripMenuItem_BatchAdd.Name = "toolStripMenuItem_BatchAdd"; toolStripMenuItem_BatchAdd.Name = "toolStripMenuItem_BatchAdd";
toolStripMenuItem_BatchAdd.Size = new Size(187, 30); toolStripMenuItem_BatchAdd.Size = new Size(240, 30);
toolStripMenuItem_BatchAdd.Text = "批量添加(&B)..."; toolStripMenuItem_BatchAdd.Text = "批量添加(&B)...";
toolStripMenuItem_BatchAdd.Click += toolStripMenuItem_BatchAdd_Click; toolStripMenuItem_BatchAdd.Click += toolStripMenuItem_BatchAdd_Click;
// //
@@ -145,20 +146,20 @@
// //
toolStripMenuItem_RemoveAll.Enabled = false; toolStripMenuItem_RemoveAll.Enabled = false;
toolStripMenuItem_RemoveAll.Name = "toolStripMenuItem_RemoveAll"; toolStripMenuItem_RemoveAll.Name = "toolStripMenuItem_RemoveAll";
toolStripMenuItem_RemoveAll.Size = new Size(187, 30); toolStripMenuItem_RemoveAll.Size = new Size(240, 30);
toolStripMenuItem_RemoveAll.Text = "移除全部(&X)"; toolStripMenuItem_RemoveAll.Text = "移除全部(&X)";
toolStripMenuItem_RemoveAll.Click += toolStripMenuItem_RemoveAll_Click; toolStripMenuItem_RemoveAll.Click += toolStripMenuItem_RemoveAll_Click;
// //
// toolStripSeparator3 // toolStripSeparator3
// //
toolStripSeparator3.Name = "toolStripSeparator3"; toolStripSeparator3.Name = "toolStripSeparator3";
toolStripSeparator3.Size = new Size(184, 6); toolStripSeparator3.Size = new Size(237, 6);
// //
// toolStripMenuItem_ChangeView // toolStripMenuItem_ChangeView
// //
toolStripMenuItem_ChangeView.DropDownItems.AddRange(new ToolStripItem[] { toolStripMenuItem_LargeIconView, toolStripMenuItem_SmallIconView, toolStripMenuItem_DetailsView }); toolStripMenuItem_ChangeView.DropDownItems.AddRange(new ToolStripItem[] { toolStripMenuItem_LargeIconView, toolStripMenuItem_SmallIconView, toolStripMenuItem_DetailsView });
toolStripMenuItem_ChangeView.Name = "toolStripMenuItem_ChangeView"; toolStripMenuItem_ChangeView.Name = "toolStripMenuItem_ChangeView";
toolStripMenuItem_ChangeView.Size = new Size(187, 30); toolStripMenuItem_ChangeView.Size = new Size(240, 30);
toolStripMenuItem_ChangeView.Text = "切换视图"; toolStripMenuItem_ChangeView.Text = "切换视图";
// //
// toolStripMenuItem_LargeIconView // toolStripMenuItem_LargeIconView
@@ -194,6 +195,13 @@
imageList_SmallIcon.ImageSize = new Size(48, 48); imageList_SmallIcon.ImageSize = new Size(48, 48);
imageList_SmallIcon.TransparentColor = Color.Transparent; imageList_SmallIcon.TransparentColor = Color.Transparent;
// //
// toolStripMenuItem_MoveTop
//
toolStripMenuItem_MoveTop.Name = "toolStripMenuItem_MoveTop";
toolStripMenuItem_MoveTop.Size = new Size(240, 30);
toolStripMenuItem_MoveTop.Text = "置顶(&T)";
toolStripMenuItem_MoveTop.Click += toolStripMenuItem_MoveTop_Click;
//
// SpineListView // SpineListView
// //
AutoScaleDimensions = new SizeF(11F, 24F); AutoScaleDimensions = new SizeF(11F, 24F);
@@ -225,5 +233,6 @@
private ToolStripMenuItem toolStripMenuItem_LargeIconView; private ToolStripMenuItem toolStripMenuItem_LargeIconView;
private ToolStripMenuItem toolStripMenuItem_SmallIconView; private ToolStripMenuItem toolStripMenuItem_SmallIconView;
private ToolStripMenuItem toolStripMenuItem_DetailsView; private ToolStripMenuItem toolStripMenuItem_DetailsView;
private ToolStripMenuItem toolStripMenuItem_MoveTop;
} }
} }

View File

@@ -183,12 +183,14 @@ namespace SpineViewer.Controls
private void contextMenuStrip_Opening(object sender, CancelEventArgs e) private void contextMenuStrip_Opening(object sender, CancelEventArgs e)
{ {
var selectedCount = listView.SelectedIndices.Count; var selectedIndices = listView.SelectedIndices;
var selectedCount = selectedIndices.Count;
var itemsCount = listView.Items.Count; var itemsCount = listView.Items.Count;
toolStripMenuItem_Insert.Enabled = selectedCount == 1; toolStripMenuItem_Insert.Enabled = selectedCount == 1;
toolStripMenuItem_Remove.Enabled = selectedCount >= 1; toolStripMenuItem_Remove.Enabled = selectedCount >= 1;
toolStripMenuItem_MoveUp.Enabled = selectedCount == 1 && listView.SelectedIndices[0] != 0; toolStripMenuItem_MoveTop.Enabled = selectedCount == 1 && selectedIndices[0] != 0;
toolStripMenuItem_MoveDown.Enabled = selectedCount == 1 && listView.SelectedIndices[0] != itemsCount - 1; toolStripMenuItem_MoveUp.Enabled = selectedCount == 1 && selectedIndices[0] != 0;
toolStripMenuItem_MoveDown.Enabled = selectedCount == 1 && selectedIndices[0] != itemsCount - 1;
toolStripMenuItem_RemoveAll.Enabled = itemsCount > 0; toolStripMenuItem_RemoveAll.Enabled = itemsCount > 0;
// 视图选项 // 视图选项
@@ -238,6 +240,21 @@ namespace SpineViewer.Controls
} }
} }
private void toolStripMenuItem_MoveTop_Click(object sender, EventArgs e)
{
if (listView.SelectedIndices.Count != 1)
return;
var index = listView.SelectedIndices[0];
if (index > 0)
{
lock (Spines) { (spines[0], spines[index]) = (spines[index], spines[0]); }
var item = listView.Items[index];
listView.Items.RemoveAt(index);
listView.Items.Insert(0, item);
}
}
private void toolStripMenuItem_MoveUp_Click(object sender, EventArgs e) private void toolStripMenuItem_MoveUp_Click(object sender, EventArgs e)
{ {
if (listView.SelectedIndices.Count != 1) if (listView.SelectedIndices.Count != 1)

View File

@@ -121,9 +121,9 @@
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="imageList_LargeIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="imageList_LargeIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>552, 29</value> <value>511, 20</value>
</metadata> </metadata>
<metadata name="imageList_SmallIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="imageList_SmallIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>267, 34</value> <value>252, 19</value>
</metadata> </metadata>
</root> </root>