![]() |
|
|||||||
| Newsgroup microsoft.public.de.german.entwickler.dotnet.csharp Forum microsoft.public.de.german.entwickler.dotnet.csharp |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#1
|
|||
|
|||
|
Hallo zusammen,
es gibt ein Control namens Combobox, diese Control kann man für WindowsApplicationen nutzen. Ich habe immer noch nicht verstanden wie es genau funktiooniert. Man kann in ComboBox die Items (Typ Object) spechern, wozu sind dann die SelectedValue und SelectedText da? Wenn man folgendes macht: ComboBox.Items.Add(„Red“) Dann sind die SelectedValue und SelectedText gleich. Wie kann man so was in ComboBox speichern? 1, „Red“ 2, „Blue“ Die erste Spalte muss unsichtbar sein und mit SelectedValue abrufbar. Die zweite Spalte muss sichtbar sein und mit SelectedText abrufbar.(so wie in ASP.NET DropDownBox) Ich habe schon versucht so zu machen cmbServer.Items.Add(new ServerItem(„1“,“Red“); private class ServerItem { public string iID; public string iName; public ServerItem(string pID, string pName) { iID = pID; iName = pName; } public override string ToString() { return iName; } public string ID { set { iID = value; } get { return iID; } } public string Name { set { iName = value; } get { return iName; } } } Ich weiss leider nicht wie ich danach ein Item auslesen kann und beide Werte bekommen kann. Vielen Dan für Ihre Hilfe. |
|
|
||||
|
||||
|
|
|
#2
|
|||
|
|||
|
Hallo Andrej,
> es gibt ein Control namens Combobox, diese Control kann man für > WindowsApplicationen nutzen. > Ich habe immer noch nicht verstanden wie es genau funktiooniert. > Man kann in ComboBox die Items (Typ Object) spechern, wozu sind dann die > SelectedValue und SelectedText da? Man kann die ComboBox auch einfach mit dem Setzen der DataSource-Eigenschaft "füllen" kann. SelectedText ist ja nur der (normal blau unterlegte) markierte Text. Ich habe Dir mal ein Beispiel erstellt, indem Du die Bedeutungen wahrscheinlich besser verstehen kannst: ComboBox combo = new ComboBox(); class Wert { public Wert(int zahl, string darstellung, int nochwas) { Zahl = zahl; Darstellung = darstellung; Nochwas = nochwas; } public int Zahl { get; set; } public string Darstellung { get; set; } public int Nochwas { get; set; } } private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); FülleZeilen(dt); combo.DisplayMember = "Name"; combo.ValueMember = "Wert"; combo.DataSource = dt; combo.SelectedIndexChanged += new EventHandler(combo_SelectedIndexChanged); combo.SelectedValueChanged += new EventHandler(combo_SelectedValueChanged); Controls.Add(combo); } /// <summary>Zeichenfolge für Zeilenumbruch</summary> string NL = Environment.NewLine; void combo_SelectedValueChanged(object sender, EventArgs e) { Wert wert = combo.SelectedValue as Wert; Anzeige("SelectedValue", wert.Zahl.ToString()); } void combo_SelectedIndexChanged(object sender, EventArgs e) { Anzeige("SelectedIndex", combo.SelectedIndex.ToString()); } private void Anzeige(string ereignis, string wert) { StringBuilder sb = new StringBuilder(); sb.AppendLine(ereignis +" geändert auf: "+ wert); sb.AppendLine("SelectedIndex: " + combo.SelectedIndex); sb.AppendLine("SelectedText: " + combo.SelectedText); MessageBox.Show(sb.ToString()); } private void FülleZeilen(DataTable tbl) { tbl.Rows.Clear(); tbl.Columns.Clear(); tbl.Columns.Add("Name"); tbl.Columns.Add("Wert", typeof(Wert)); tbl.Rows.Add("Erster Name", new Wert(1,"nett", 42)); tbl.Rows.Add("Zweiter Name", new Wert(2, "gross", 54)); tbl.Rows.Add("Dritter Name", new Wert(3, "klein", 12)); } ciao Frank -- Dipl.Inf. Frank Dzaebel [MCP/MVP C#] http://Dzaebel.NET |
|
|
|
|
![]() |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| Combobox | Horst Kühn | Newsgroups microsoft.public.de.fox | 2 | 10-13-2009 02:19 PM |
| Combobox | Gerd | Newsgroups microsoft.public.de.fox | 0 | 09-25-2009 12:40 PM |
| Combobox | Uli Münch | Newsgroups microsoft.public.de.fox | 2 | 02-17-2009 10:43 AM |
| Combobox | Thomas Freudenreich | Newsgroup microsoft.public.de.vc | 2 | 11-06-2008 12:15 PM |
| Combobox | Detlef Schulz | Newsgroup microsoft.public.de.excel | 3 | 07-18-2008 05:12 AM |