Hey Leute,
ich arbeite derzeit an einem kleinen Projekt in meinem Praktikum und bräuchte etwas hilfe.
[Gelöst]1.Ich have zwei Listboxen, wie schaffe ich es, dass wenn ich bei der einen Listbox einen Wert anklicke und dann versuche bei der anderen Listbox einen Wert anzuklicken, dass in der ersten listbox der Wert nicht mehr angeklickt ist.
Ich weiß die fragen für Anfänger, aber ich bin gerade erst am Anfang und versuche mein bestes um eine Ausbildung als Entwickler zu bekommen.
Poste bitte Deinen vorhandenen Code, dann können wir Dir helfen.
Okay, ich verlinke die Klasse, die ich für meine inifile benutze, damit der code hier nicht zuviel wird.
Arbeiten mit ini Files
Der Quelltext im Ereignis Load ist nicht ganz richtig und dient erstmal als Platzhalter um überhaupt ein Balkendiagramm angezeigt zu bekommen. Ich bräuchte nun Hilfe, dass ich es schaffe, dass die Top 3 mit den meisten Punkten im Balkendiagramm angezeigt werden.
namespace TippSpiel3._0
{
public partial class Toplist : Form
{
public Toplist()
{
InitializeComponent();
chartLoad();
chart1.Series.Clear();
s1.Points.Clear();
INIFile ini = new INIFile("C:\\temp\\Accounts.ini");
string user1 = ini.GetValue("user1", "Siege");
string user2 = ini.GetValue("user2", "Siege");
string user3 = ini.GetValue("user3", "Siege");
string user4 = ini.GetValue("user4", "Siege");
string user5 = ini.GetValue("user5", "Siege");
int winsUser1 = Convert.ToInt32(user1);
int winsUser2 = Convert.ToInt32(user2);
int winsUser3 = Convert.ToInt32(user3);
int winsUser4 = Convert.ToInt32(user4);
int winsUser5 = Convert.ToInt32(user5);
DataPoint spieler1 = new DataPoint(0, winsUser1);
DataPoint spieler2 = new DataPoint(0, winsUser2);
DataPoint spieler3 = new DataPoint(0, winsUser3);
DataPoint spieler4 = new DataPoint(0, winsUser4);
DataPoint spieler5 = new DataPoint(0, winsUser5);
spieler1.Color = Color.Green;
spieler2.Color = Color.Yellow;
spieler3.Color = Color.Blue;
spieler4.Color = Color.Red;
spieler5.Color = Color.Black;
s1.IsVisibleInLegend = false;
s1.Points.Add(spieler1);
s1.Points.Add(spieler2);
s1.Points.Add(spieler3);
s1.Points.Add(spieler4);
s1.Points.Add(spieler5);
Legend le = new Legend();
le.CustomItems.Add(Color.Green, "Gewonnene Spiele");
chart1.Series.Add(s1);
chart1.Legends.Clear();
chart1.Legends.Add(le);
}
private void chart1_Click(object sender, EventArgs e)
{
}
Series s1 = new Series();
public void chartLoad()
{
chart1.Series.Clear();
chart1.Palette = ChartColorPalette.BrightPastel;
chart1.BackColor = Color.LightBlue;
chart1.ChartAreas[0].BackColor = Color.LightBlue;
s1.ChartType = SeriesChartType.Bar;
s1.BorderColor = Color.Black;
s1.BorderDashStyle = ChartDashStyle.Solid;
DataPoint auswertung = new DataPoint(0, 100);
auswertung.Label = "leeres balkendiagramm";
s1.Points.Add(auswertung);
chart1.Series.Add(s1);
}
}
}
Wenn du nur die höchsten Punktzahlen, ohne Name des Benutzers anzeigen willst:
Erstmal packst du alle nötigen Scores in ein Array.
Dann lässt du diese sortieren (Sort Methode o.ä).
Danach kannst du die sortierten Scores dem Balkendiagramm hinzufügen.