Wie kann ich programmgesteuert andere Elemente in einer ListBox auswählen, indem ich auf ein Element in derselben ListBox klicke? Dies ist ein C# winforms-Projekt.Mehrere ListBox-Elemente in derselben ListBox mit einem Klick auswählen
Zum Beispiel, wenn ich unten auf Kleidung klicke, müssten Hosen und Hemden automatisch hervorgehoben werden. Das Gleiche gilt für Autoteile, die Reifen und Getriebe hervorheben.
Clothes
Pants
Tires
Shirts
Transmissions
Auto Parts
Ich habe meine ListBox an eine Datasource gebunden (itemList) und ich versuchte, einen „itemIndex“ zu jedem Element in meiner Liste hinzufügen, so konnte ich die Sortierung behandeln (ich bin sicher, es ist wahrscheinlich ein besserer Weg ?) was zu der Zeit für mich einen Sinn ergab, aber ich konnte nicht herausfinden, wie ich es außerhalb meines Kopfes funktioniere ...
Hier ist mein aktueller Code, aber bitte bare mit mir Ich lerne immer noch das . Irgendwelche Vorschläge wären fantastisch.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace listBox_test
{
public partial class Form1 : Form
{
BindingList<Item> itemList = new BindingList<Item>();
public Form1()
{
InitializeComponent();
ShowData();
}
private void ShowData()
{
this.listBox1.DataSource = itemList;
this.listBox1.DisplayMember = "ItemName";
}
private void Form1_Load(object sender, EventArgs e)
{
AddItem(itemIndex: 0, itemName: "Clothes", itemPrice: 0.95);
AddItem(itemIndex: 1, itemName: "Pants", itemPrice: 0.95);
AddItem(itemIndex: 2, itemName: "Tires", itemPrice: 0.95);
AddItem(itemIndex: 3, itemName: "Shirts", itemPrice: 0.95);
AddItem(itemIndex: 4, itemName: "Transmissions", itemPrice: 0.95);
AddItem(itemIndex: 5, itemName: "Auto Parts", itemPrice: 0.95);
}
// Add an item to the list
private void AddItem(int itemIndex, string itemName, double itemPrice)
{
itemList.Add(new Item(itemIndex, itemName, itemPrice));
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// SelectChild(); ??
}
}
public class Item
{
public int ItemIndex { get; set; }
public string ItemName { get; set; }
public double ItemPrice { get; set; }
public Item(int itemIndex, string itemName, double itemPrice)
{
ItemIndex = itemIndex;
ItemName = itemName;
ItemPrice = itemPrice;
}
}
}
Ausgezeichnete Erklärung! Dank dafür. Jede Eingabe über die Tastatur stürzt das Programm ab, aber ich denke, es sollte eine einfache Lösung sein – Giovanni