Forum: PC-Programmierung SerialPort über Listenfeld einstellen


von Joachim (Gast)


Lesenswert?

Hi Leute,

kämpfe gerade mit folgender Aufgabe:

Ich habe eine Windows-Forms-Applikation, bei der ich einen Serial-Port 
verwende:
1
System.IO.Ports.Serialport


In Visual C# 2010 setze ich die Eigenschaft "PortName" bspw. auf COM5.

Nun möchte ich diese Eigenschaft davon abhängig machen, was der User in 
einem Listenfeld einstellt. Das Listenfeld:
1
lstCom.Items.Add("COM1");
2
lstCom.Items.Add("COM2");
3
lstCom.Items.Add("COM3");
4
lstCom.Items.Add("COM4");
5
lstCom.Items.Add("COM5");
6
lstCom.Items.Add("COM6");


Ich weiss, dass ich die Information darüber, welches Listenfeld-ELement 
ausgewählt ist, erhalte über:
1
lstCom.SelectedIndex

Was ich allerdings nicht weiss: Wie kann ich diese Information in
die SerialPort-Eigenschaft "PortName" übertragen?

Bin für Eure Vorschläge und Erklärungen sehr dankbar.


VG, Joachim

von Stefan (Gast)


Lesenswert?

nimm "selectedItem" und du bekommst den dargestellten Namen.

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

das Listenfeld sollte nicht einfach COM1 bis COMx enthalten - da gehören 
nur die Com-Ports rein, die im System auch wirklich vorhanden sind 
(möglichst mit Beschreibung, damit man weiss, was ein echtes und was ein 
virtuelles ist).

Wenn du blind arbeitest, genügt ja auch ein Edit für die Nummer, ist 
aber so unkomfortabel und nicht idiotensicher wie deine Lösung.

Gruss Reinhard

von Reinhard R. (reinhardr)


Lesenswert?

Die richtigen Ports in das Listenfeld zu bringen ist unter .net ziemlich 
trivial. Siehe hier:
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.getportnames.aspx

Reinhard

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.