C# von einer comboBox einen bestimmten Text starten

oldi9

Cadet 1st Year
Registriert
Nov. 2010
Beiträge
8
Bitte um Hilfe bei folgendem Problem:
Ich möchte aus einer comboBox einen vorhandenen Eintrag auswählen und dann damit einen anderen Text (nicht den mittels Add hinzugefügt) anzeigen.
Habe schon gegoogelt und in diversen Boards gesucht und einiges versucht, komme jedoch nicht weiter. Kann mir jemand weiter helfen?
danke euch
o.
 
Willst du, dass der Benutzer "Foo" auswählt und in der selben ComboBox dann "Bar" steht? Fände ich verwirrend.

Ansonsten haben die ComboItems einen Text und ein Value-Attribut, in denen du unterschiedliche Daten speichern kannst. Text für die Anzeige, und in Value Daten für die interne Verarbeitung.
 
danke, dein Tipp dürfte schon richtig sein, nur wie gehe ich weiter vor
"Ansonsten haben die ComboItems einen Text und ein Value-Attribut, in denen du unterschiedliche Daten speichern kannst. Text für die Anzeige, und in Value Daten für die interne Verarbeitung."
Könntest Du mir auf die Sprünge helfen?
danke
o.
 
Ich merke gerade, ich hatte System.Web.UI.WebControls.ListItem im Kopf, aber du arbeitest vermutlich mit Forms? Dann schau' dir mal System.Windows.Forms.ListControl an. Stichworte hier: Value- und DisplayMember. Ein Beispiel gibt's im Link.
Die ComboBox ist von ListControl abgeleitet, sollte also auch damit gehen.
 
danke dir, soweit so gut, nur bekomme ich den Fehler:

Fehler 1 "MyListControlSample.Form1.Dispose(bool)": Es wurde keine passende Methode zum Überschreiben gefunden.
fehlt hier vielleicht eine using?
 
Du hast in deinem Code vermutlich override void Dispose(bool disposing) stehen, wo es nicht hingehört oder du benutzt ein Dispose() oder using() zu viel. Ohne Code kann ich nicht viel mehr dazu sagen.

Form1 ist aber schon eine Instanz von System.Windows.Forms, bzw. davon abgeleitet?
 
Code wurde gelöscht
 
Zuletzt bearbeitet:
Ich glaube, du hast dein Projekt irgendwie vermurkst.
Das "[STAThread]" kommt aus der program.cs, die man normalerweise nicht anfasst oder großartig ändert.
Die Implementierung von void InitializeComponent() findet normalerweise in der ListBoxSample3.Designer.cs statt. Arbeitest du nicht mit dem Designer?
Und zu guter Letzt bezieht sich dein vorher gemeldeter Fehler auf MyListControlSample.Form1, die in dem Code nicht auftaucht.

Und bitte den Code innerhalb der CODE-Tags posten (#-Symbol im Editor, wenn du auf Antworten klickst), sowie die Dateinamen angeben, oder besser noch gleich das ganze Projekt gezippt hochladen (ist in diesem Fall wohl besser).
 
Das Problem liegt daran, dass du "Form1" einfach in "ListBoxSample3" umgeschrieben und nicht umbenannt hast. D.h. du hast in der Designer.cs noch "partial class Form1" stehen, die nun versucht die Methode Dispose von Object anstatt von Form zu überschreiben. Und Object hat keine solche Methode, die überschrieben werden kann.

Du musst dich etwas mit VisualStudio beschäftigen, und wie dort der Code aufgebaut wird. Einfach Code blind irgendwo in dein Projekt kopieren, funktioniert so nicht. Der Code von msdn war als "Stand-Alone" gedacht, daher auch die Main() Methode und hätte in eine eigene .cs Datei kopiert werden müssen. Dann muss in den Projekteigenschaften auch ListBoxSample3 als Startobjekt ausgewählt werden.
 
Zurück
Oben