diff --git a/Source/GrasscutterTools/GrasscutterTools.csproj b/Source/GrasscutterTools/GrasscutterTools.csproj
index 3f648b5..a96a493 100644
--- a/Source/GrasscutterTools/GrasscutterTools.csproj
+++ b/Source/GrasscutterTools/GrasscutterTools.csproj
@@ -489,6 +489,7 @@
PageGiveItem.cs
+ Designer
PageGiveItem.cs
diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs b/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs
index 6d61d80..e50a7a7 100644
--- a/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs
+++ b/Source/GrasscutterTools/Pages/PageGiveItem.Designer.cs
@@ -43,7 +43,7 @@
this.NUDGameItemAmout = new System.Windows.Forms.NumericUpDown();
this.NUDGameItemLevel = new System.Windows.Forms.NumericUpDown();
this.LblGiveCommandDescription = new System.Windows.Forms.Label();
- this.BtnFilterItem = new System.Windows.Forms.Button();
+ this.CmbFilterItem = new System.Windows.Forms.ComboBox();
this.MenuItemFilter = new System.Windows.Forms.ContextMenuStrip(this.components);
this.GrpGiveItemRecord.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NUDGameItemAmout)).BeginInit();
@@ -162,12 +162,12 @@
resources.ApplyResources(this.LblGiveCommandDescription, "LblGiveCommandDescription");
this.LblGiveCommandDescription.Name = "LblGiveCommandDescription";
//
- // BtnFilterItem
+ // CmbFilterItem
//
- resources.ApplyResources(this.BtnFilterItem, "BtnFilterItem");
- this.BtnFilterItem.Name = "BtnFilterItem";
- this.BtnFilterItem.UseVisualStyleBackColor = true;
- this.BtnFilterItem.Click += new System.EventHandler(this.BtnFilterItem_Click);
+ this.CmbFilterItem.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ resources.ApplyResources(this.CmbFilterItem, "CmbFilterItem");
+ this.CmbFilterItem.Name = "CmbFilterItem";
+ this.CmbFilterItem.SelectedIndexChanged += new System.EventHandler(this.CmbFilterItem_SelectedIndexChanged);
//
// MenuItemFilter
//
@@ -178,7 +178,7 @@
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.BtnFilterItem);
+ this.Controls.Add(this.CmbFilterItem);
this.Controls.Add(this.LblClearGiveItemLogs);
this.Controls.Add(this.BtnSaveGiveItemLog);
this.Controls.Add(this.BtnRemoveGiveItemLog);
@@ -215,7 +215,7 @@
private System.Windows.Forms.NumericUpDown NUDGameItemAmout;
private System.Windows.Forms.NumericUpDown NUDGameItemLevel;
private System.Windows.Forms.Label LblGiveCommandDescription;
- private System.Windows.Forms.Button BtnFilterItem;
+ private System.Windows.Forms.ComboBox CmbFilterItem;
private System.Windows.Forms.ContextMenuStrip MenuItemFilter;
}
}
diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.cs b/Source/GrasscutterTools/Pages/PageGiveItem.cs
index 22ab168..66387e1 100644
--- a/Source/GrasscutterTools/Pages/PageGiveItem.cs
+++ b/Source/GrasscutterTools/Pages/PageGiveItem.cs
@@ -41,34 +41,28 @@ namespace GrasscutterTools.Pages
InitGiveItemRecord();
}
+ private List ItemList;
+
///
/// 初始化游戏物品列表
///
public override void OnLoad()
{
- MenuItemFilter.SuspendLayout();
- MenuItemFilter.Items.Clear();
+ var types = new List();
+ var itemList = new List();
+
+ types.Add(Resources.All);
SelectedItemTypeLines = GameData.Items.Lines;
- BtnFilterItem.Text = Resources.All;
- var all = new ToolStripMenuItem
- {
- Text = Resources.All,
- Tag = SelectedItemTypeLines,
- };
- all.Click += OnItemFilterClick;
- MenuItemFilter.Items.Add(all);
+ itemList.Add(SelectedItemTypeLines);
foreach (var kv in GameData.Items)
{
- var item = new ToolStripMenuItem
- {
- Text = kv.Key,
- Tag = kv.Value.Lines,
- };
- item.Click += OnItemFilterClick;
- MenuItemFilter.Items.Add(item);
+ types.Add(kv.Key);
+ itemList.Add(kv.Value.Lines);
}
- MenuItemFilter.ResumeLayout();
+ CmbFilterItem.DataSource = types;
+ ItemList = itemList;
+
LoadItemList();
}
@@ -78,13 +72,14 @@ namespace GrasscutterTools.Pages
private string[] SelectedItemTypeLines;
///
- /// 物品类型过滤器类型选中时触发
+ /// 点击过滤物品按钮时触发
///
- private void OnItemFilterClick(object sender, EventArgs e)
+ private void CmbFilterItem_SelectedIndexChanged(object sender, EventArgs e)
{
- var btn = sender as ToolStripMenuItem;
- BtnFilterItem.Text = btn.Text;
- SelectedItemTypeLines = btn.Tag as string[];
+ if (CmbFilterItem.SelectedIndex < 0 || ItemList == null) return;
+ var lines = ItemList[CmbFilterItem.SelectedIndex];
+ if (SelectedItemTypeLines == lines) return;
+ SelectedItemTypeLines = lines;
LoadItemList();
}
@@ -152,13 +147,6 @@ namespace GrasscutterTools.Pages
GenGiveItemCommand();
}
- ///
- /// 点击过滤物品按钮时触发
- ///
- private void BtnFilterItem_Click(object sender, EventArgs e)
- {
- MenuItemFilter.Show(BtnFilterItem, BtnFilterItem.Width, BtnFilterItem.Height);
- }
#region -- 物品记录 --
diff --git a/Source/GrasscutterTools/Pages/PageGiveItem.resx b/Source/GrasscutterTools/Pages/PageGiveItem.resx
index 4d28cf7..f027c35 100644
--- a/Source/GrasscutterTools/Pages/PageGiveItem.resx
+++ b/Source/GrasscutterTools/Pages/PageGiveItem.resx
@@ -301,10 +301,10 @@
Top, Left, Right
- 448, 3
+ 498, 3
- 195, 23
+ 145, 23
9
@@ -493,32 +493,29 @@
13
-
+
NoControl
-
+
342, 2
-
- 100, 25
+
+ 150, 25
-
+
10
-
- 全部
+
+ CmbFilterItem
-
- BtnFilterItem
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
+
$this
-
- 1
+
+ 0
17, 17
diff --git a/Source/GrasscutterTools/Pages/PageSpawn.cs b/Source/GrasscutterTools/Pages/PageSpawn.cs
index 0096c2c..0857c4f 100644
--- a/Source/GrasscutterTools/Pages/PageSpawn.cs
+++ b/Source/GrasscutterTools/Pages/PageSpawn.cs
@@ -73,40 +73,7 @@ namespace GrasscutterTools.Pages
CmbFilterEntity.DataSource = types;
EntityList = entityList;
-
- //// 初始化列表类型过滤器
- //MenuSpawnEntityFilter.SuspendLayout();
- //MenuSpawnEntityFilter.Items.Clear();
- //CmbFilterEntity.Text = Resources.All;
- //// 默认显示所有
- //SelectedEntityTypeLines = GameData.Monsters.AllLines.Concat(GameData.Gadgets.AllLines).ToArray();
- //var all = new ToolStripMenuItem
- //{
- // Text = Resources.All,
- // Tag = SelectedEntityTypeLines,
- //};
- //all.Click += OnEntityTypeFilterClick;
- //MenuSpawnEntityFilter.Items.Add(all);
-
- //void AddTypes(ItemMapGroup group)
- //{
- // foreach (var kv in group)
- // {
- // var item = new ToolStripMenuItem
- // {
- // Text = kv.Key,
- // Tag = kv.Value.Lines,
- // };
- // item.Click += OnEntityTypeFilterClick;
- // MenuSpawnEntityFilter.Items.Add(item);
- // }
- //}
- ////MenuSpawnEntityFilter.Items.Add(new ToolStripLabel("Monsters"));
- //AddTypes(GameData.Monsters);
- //MenuSpawnEntityFilter.Items.Add(new ToolStripSeparator());
- ////MenuSpawnEntityFilter.Items.Add(new ToolStripLabel("Gadgets"));
- //AddTypes(GameData.Gadgets);
- //MenuSpawnEntityFilter.ResumeLayout();
+
//Console.WriteLine(string.Join("\n", GameData.Gadgets.Keys));
@@ -118,16 +85,6 @@ namespace GrasscutterTools.Pages
///
private string[] SelectedEntityTypeLines;
- /////
- ///// 实体类型过滤器类型选中时触发
- /////
- //private void OnEntityTypeFilterClick(object sender, EventArgs e)
- //{
- // var btn = sender as ToolStripMenuItem;
- // CmbFilterEntity.Text = btn.Text;
- // SelectedEntityTypeLines = btn.Tag as string[];
- // LoadEntityList();
- //}
///
/// 类别选中时触发
@@ -156,14 +113,7 @@ namespace GrasscutterTools.Pages
{
LoadEntityList();
}
-
- ///
- /// 实体列表类型过滤按钮点击时触发
- ///
- private void BtnFilterEntity_Click(object sender, EventArgs e)
- {
- MenuSpawnEntityFilter.Show(CmbFilterEntity, CmbFilterEntity.Width, CmbFilterEntity.Height);
- }
+
///
/// 实体列表选中项改变时触发