Forum: PC Hard- und Software C# 2008 Combobox und Button


von Leon E. (adiagi)


Lesenswert?

Hi leute,

bin grad neu in C# eingestiegen.
Hab aber bereits erfahrungen mit c und c++.
Ich arbeite gerade ein wenig mit Windows Forms.

Jetzt habe ich ein Button und eine Combobox erstellt.

In der Combobox habe ich manuelle 2 Einträge, sagen wir einfach Ja und 
Nein.
Nun muss ich es hinbekommen, dass Button den Wert(Ja oder Nein) der 
Combox nimmt und damit arbeitet.

Wie kann ich das machen?
Muss ich da mit events und delegate arbeiten?

Vielen Dank für die Hilfe

Gruß

Agit

von Peter II (Gast)


Lesenswert?

Agit A. schrieb:
> Nun muss ich es hinbekommen, dass Button den Wert(Ja oder Nein) der
> Combox nimmt und damit arbeitet.

soll der button damit arbeiten oder die aktion die damit ausgelöst wird?

Einfach im Code den aktuellen Zustand der combobox abfragen.

Ich selber schreibe aber keine "strings" in so eine combobox sondern 
trenne möglichst immer Daten vom Text. Bei mir kommt immer ein Object 
mit einer Zahl und dem Text in die Combobox bei abfragen vergleich ich 
dann aber die Zahl und nicht den Text.

von Leon E. (adiagi)


Lesenswert?

Peter II schrieb:
> soll der button damit arbeiten oder die aktion die damit ausgelöst wird?



Der Button soll nur damit arbeiten.
Also zum beispiel wähle ich in der Combo Box den Wert Ja
dann drücke ich auf den Button send. Der Button übernimmt diesen String 
und macht dann halt seine Aktion weiter.

Deine Implementierung hört sich interessant an.
Ic hverstehj sie jedoch nciht ganz.
Was meinst du mit trennung von daten und text.
Wie kannst du ein object in die Combobox integrieren?

Vielen Dank für die antwort

Gruß Agit

Peter II schrieb:
> Einfach im Code den aktuellen Zustand der combobox abfragen.

Wie kann ich denn Zustand der Combobox abfragen?

von Peter II (Gast)


Lesenswert?

> Was meinst du mit trennung von daten und text.
Auto -> 1
LKW -> 2
Fahrrad ->  3

damit bin ich sprachunabhänig beim vergleich.

> Wie kannst du ein object in die Combobox integrieren?

combobox.Items.Add( object )

Schau dir doch einfach mal die Doku von der combobox an.

http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox_methods.aspx

abfrage geht über

combobox.SelectedItem

von Simon K. (simon) Benutzerseite


Lesenswert?

Peter II schrieb:
> Ich selber schreibe aber keine "strings" in so eine combobox sondern
> trenne möglichst immer Daten vom Text. Bei mir kommt immer ein Object
> mit einer Zahl und dem Text in die Combobox bei abfragen vergleich ich
> dann aber die Zahl und nicht den Text.

Könntest du das konkretisieren? Habe mich schon öfters gefragt, wie man 
besonders bei den .NET Steuerelementen Daten von Code trennen kann.

von Arc N. (arc)


Lesenswert?

Simon K. schrieb:
> Peter II schrieb:
>> Ich selber schreibe aber keine "strings" in so eine combobox sondern
>> trenne möglichst immer Daten vom Text. Bei mir kommt immer ein Object
>> mit einer Zahl und dem Text in die Combobox bei abfragen vergleich ich
>> dann aber die Zahl und nicht den Text.
>
> Könntest du das konkretisieren? Habe mich schon öfters gefragt, wie man
> besonders bei den .NET Steuerelementen Daten von Code trennen kann.

DataBinding
http://msdn.microsoft.com/de-de/library/system.windows.forms.control.databindings.aspx
Die Zuordnung könnte dann z.B. in eine Resource ausgelagert werden
http://msdn.microsoft.com/en-us/library/gg418542.aspx

von Peter II (Gast)


Lesenswert?

Simon K. schrieb:
> Könntest du das konkretisieren? Habe mich schon öfters gefragt, wie man
> besonders bei den .NET Steuerelementen Daten von Code trennen kann.

du musst ja der comobox kein STring geben du kannst ihr auch ein 
komplexes object geben.

Diese Objekt hat dann 2 eigenschaften, den Text und die Id.

von Sharping (Gast)


Lesenswert?

Um auf deine ursprüngliche Frage zurückzukommen:

Im EventHandler deines Buttons kannst du ganz einfach auf die ComboBox 
zugreifen:

if( comboBox1.SelectedIndex == ....

(oder so ähnlich)

von Leon E. (adiagi)


Lesenswert?

HI Leute,

Vielen Danke für die Antworten.
Denke, dass ich es honbekommen müsste.
Wenn nicht weiß ich ja wo ich Rat finde :)

Gruß

Agit

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.