private void SearchItemList(object sender, EventArgs e) { if (!textChangeEventOn) { return; } if (itemSearchBox.Text.Length < 2) { return; } textChangeEventOn = false; itemSearchBox.SelectedIndexChanged -= new EventHandler(ItemSelected); var txt = itemSearchBox.Text; var list = TarkovItemController.GetMatchingItems(itemSearchBox.Text); var listCount = list.Count(); if (listCount < 30) { itemSearchBox.DroppedDown = false; } if (listCount == 1) { itemSearchBox.DataSource = list.ToList(); itemSearchBox.DroppedDown = true; Cursor.Current = Cursors.Default; itemSearchBox.SelectedIndex = 0; selectedItem = itemSearchBox.SelectedItem as TarkovItemClass; } else if (listCount > 1) { itemSearchBox.DataSource = list.ToList(); itemSearchBox.DroppedDown = true; Cursor.Current = Cursors.Default; itemSearchBox.Text = txt; itemSearchBox.SelectionStart = txt.Length; } else { itemSearchBox.DroppedDown = false; itemSearchBox.SelectionStart = txt.Length; } textChangeEventOn = true; itemSearchBox.SelectedIndexChanged += new EventHandler(ItemSelected); }
// Set up panel contents #region Panel contents private async Task AddItemPanelObjectsAsync() { PictureBox itemTitle = new PictureBox(); itemMarketPricePerSlot.Text = "Market Price Per Slot"; itemMarketPrice.Text = "Market Price"; itemMarketPriceAvg24h.Text = "Market Average 24h"; itemTraderBest.Text = "Best Trader"; itemTraderPrice.Text = "Trader Price"; itemTraderPricePerSlot.Text = "Trader Price Per Slot"; itemLastUpdated.Text = "Last Updated"; itemMarketPricePerSlot.Font = new Font("Rockwell Nova", 12); itemMarketPrice.Font = new Font("Rockwell Nova", 12); itemMarketPriceAvg24h.Font = new Font("Rockwell Nova", 12); itemTraderBest.Font = new Font("Rockwell Nova", 12); itemTraderPrice.Font = new Font("Rockwell Nova", 12); itemTraderPricePerSlot.Font = new Font("Rockwell Nova", 12); itemLastUpdated.Font = new Font("Rockwell Nova", 12); itemMarketPricePerSlotVar.Font = new Font("Rockwell Nova", 12); itemMarketPriceVar.Font = new Font("Rockwell Nova", 12); itemMarketPriceAvg24hVar.Font = new Font("Rockwell Nova", 12); itemTraderBestVar.Font = new Font("Rockwell Nova", 12); itemTraderPriceVar.Font = new Font("Rockwell Nova", 12); itemTraderPricePerSlotVar.Font = new Font("Rockwell Nova", 12); itemLastUpdatedVar.Font = new Font("Rockwell Nova", 12); itemMarketPrice.AutoSize = true; itemMarketPriceAvg24h.AutoSize = true; itemMarketPricePerSlot.AutoSize = true; itemTraderBest.AutoSize = true; itemTraderPrice.AutoSize = true; itemTraderPricePerSlot.AutoSize = true; itemLastUpdated.AutoSize = true; if (TarkovItemController.allItemsNames.Count <= 0) // If items not loaded, load items. { await TarkovItemController.GetAllItemNamesListAsync(); } itemTitle.Image = Properties.Resources.itemSearch; itemTitle.Refresh(); itemTitle.SizeMode = PictureBoxSizeMode.AutoSize; itemTitle.Padding = new Padding(10, 10, 0, 0); itemTitle.BackColor = Color.Transparent; itemSearchBox.Top = itemTitle.Bottom + 37; itemSearchBox.Left = 10; itemSearchBox.Width = 200; itemSearchBox.AutoCompleteMode = AutoCompleteMode.None; itemSearchBox.TextChanged += new EventHandler(SearchItemList); textChangeEventOn = true; itemSearchBox.SelectedIndexChanged += new EventHandler(ItemSelected); itemSearchBox.KeyDown += new KeyEventHandler(ComboKeyPress); itemSearchBox.GotFocus += new EventHandler(itemSearchEntered); itemImg.BorderStyle = BorderStyle.FixedSingle; itemImg.Size = new Size(50, 50); itemImg.Top = itemTitle.Bottom + 25; itemImg.Left = itemSearchBox.Right + 10; itemImg.SizeMode = PictureBoxSizeMode.StretchImage; itemImg.BackColor = Color.Transparent; itemMarketPrice.Top = itemImg.Bottom + 2; itemMarketPrice.Padding = new Padding(10, 0, 0, 0); itemMarketPrice.BackColor = Color.Transparent; itemMarketPrice.ForeColor = Color.LightBlue; itemMarketPriceAvg24h.Top = itemMarketPrice.Bottom + 2; itemMarketPriceAvg24h.Padding = new Padding(10, 0, 0, 0); itemMarketPriceAvg24h.BackColor = Color.Transparent; itemMarketPriceAvg24h.ForeColor = Color.LightBlue; itemMarketPricePerSlot.Top = itemMarketPriceAvg24h.Bottom + 2; itemMarketPricePerSlot.Padding = new Padding(10, 0, 0, 0); itemMarketPricePerSlot.BackColor = Color.Transparent; itemMarketPricePerSlot.ForeColor = Color.LightBlue; itemTraderBest.Top = itemMarketPricePerSlot.Bottom + 2; itemTraderBest.Padding = new Padding(10, 0, 0, 0); itemTraderBest.BackColor = Color.Transparent; itemTraderBest.ForeColor = Color.LightBlue; itemTraderPrice.Top = itemTraderBest.Bottom + 2; itemTraderPrice.Padding = new Padding(10, 0, 0, 0); itemTraderPrice.BackColor = Color.Transparent; itemTraderPrice.ForeColor = Color.LightBlue; itemTraderPricePerSlot.Top = itemTraderPrice.Bottom + 2; itemTraderPricePerSlot.Padding = new Padding(10, 0, 0, 0); itemTraderPricePerSlot.BackColor = Color.Transparent; itemTraderPricePerSlot.ForeColor = Color.LightBlue; itemLastUpdated.Top = itemTraderPricePerSlot.Bottom + 2; itemLastUpdated.Padding = new Padding(10, 0, 0, 10); itemLastUpdated.BackColor = Color.Transparent; itemLastUpdated.ForeColor = Color.LightBlue; itemSearch.Controls.Add(itemTitle); itemSearch.Controls.Add(itemImg); itemSearch.Controls.Add(itemSearchBox); itemSearch.Controls.Add(itemMarketPrice); itemSearch.Controls.Add(itemMarketPriceAvg24h); itemSearch.Controls.Add(itemMarketPricePerSlot); itemSearch.Controls.Add(itemTraderBest); itemSearch.Controls.Add(itemTraderPrice); itemSearch.Controls.Add(itemTraderPricePerSlot); itemSearch.Controls.Add(itemLastUpdated); itemTraderPricePerSlotVar.Left = itemMarketPricePerSlot.Right + 5; itemTraderPricePerSlotVar.Top = itemTraderPricePerSlot.Top; itemTraderPricePerSlotVar.ForeColor = Color.LightBlue; itemTraderPricePerSlotVar.AutoSize = true; itemLastUpdatedVar.Left = itemMarketPricePerSlot.Right + 5; itemLastUpdatedVar.Top = itemLastUpdated.Top; itemLastUpdatedVar.ForeColor = Color.LightBlue; itemLastUpdatedVar.AutoSize = true; itemTraderBestVar.Left = itemMarketPricePerSlot.Right + 5; itemTraderBestVar.Top = itemTraderBest.Top; itemTraderBestVar.ForeColor = Color.LightBlue; itemTraderBestVar.AutoSize = true; itemTraderPriceVar.Left = itemMarketPricePerSlot.Right + 5; itemTraderPriceVar.Top = itemTraderPrice.Top; itemTraderPriceVar.ForeColor = Color.LightBlue; itemTraderPriceVar.AutoSize = true; itemMarketPricePerSlotVar.Left = itemMarketPricePerSlot.Right + 5; itemMarketPricePerSlotVar.Top = itemMarketPricePerSlot.Top; itemMarketPricePerSlotVar.ForeColor = Color.LightBlue; itemMarketPricePerSlotVar.AutoSize = true; itemMarketPriceAvg24hVar.Left = itemMarketPricePerSlot.Right + 5; itemMarketPriceAvg24hVar.Top = itemMarketPriceAvg24h.Top; itemMarketPriceAvg24hVar.ForeColor = Color.LightBlue; itemMarketPriceAvg24hVar.AutoSize = true; itemMarketPriceVar.Left = itemMarketPricePerSlot.Right + 5; itemMarketPriceVar.Top = itemMarketPrice.Top; itemMarketPriceVar.ForeColor = Color.LightBlue; itemMarketPriceVar.AutoSize = true; itemSearch.Controls.Add(itemMarketPriceVar); itemSearch.Controls.Add(itemMarketPriceAvg24hVar); itemSearch.Controls.Add(itemMarketPricePerSlotVar); itemSearch.Controls.Add(itemTraderBestVar); itemSearch.Controls.Add(itemTraderPriceVar); itemSearch.Controls.Add(itemTraderPricePerSlotVar); itemSearch.Controls.Add(itemLastUpdatedVar); }