Entwickler-Ecke
WinForms - Variable Menues
blutengel - Sa 11.08.12 22:42
Titel: Variable Menues
Hi,
ich bin gerade dabei ein Programm zu schreiben in dem ich über den Com Port mit einem µC komuniziere.
Jetzt möchte ich unter dem Menüpunkt einstellungen meinen Com Port einstellen können.
Über:
C#-Quelltext
1:
| string[] Portnames = System.IO.Ports.SerialPort.GetPortNames(); |
kann ich die verfügbaren Ports auslesen. Jetzt soll unter Einstellungen der Punkt Com Port
auftauchen und darin soll sich ein weiterer MenuItem öffnen in dem die verfügbaren Ports aufgelistet sind, und ich sie da sofort auswählen kann.
Ich da da leider noch keine Ahnung wie ich das machen könnte.
Ich hoffe es kann mir hier einer weiter helfen.
MFG
blutengel
Christoph1972 - So 12.08.12 10:16
Hi, das sollt eine schnelle Lösung sein:
C#-Quelltext
1:
| deineComboBox.DataSource = System.IO.Ports.SerialPort.GetPortNames(); |
jfheins - So 12.08.12 11:55
Ich vermute mal, es geht vor allem darum, die Auswahl in das Mainmenu hinein zu bekommen.
Für diesen Fall habe ich eine Lösung parat. Folgender Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| public partial class Form1 : Form { string SelectedPort = "";
public Form1() { InitializeComponent(); }
private string[] GetPortNames() { return new string[] { "COM 1", "COM 2", "COM 12" }; }
private void cOMPortsToolStripMenuItem_DropDownOpening(object sender, EventArgs e) { cOMPortsToolStripMenuItem.DropDownItems.Clear(); foreach (var item in GetPortNames()) { var myMenuItem = new ToolStripMenuItem(item); if (item == SelectedPort) myMenuItem.Checked = true; myMenuItem.Click += toolStripMenuItem_Click; cOMPortsToolStripMenuItem.DropDownItems.Add(myMenuItem); } }
private void toolStripMenuItem_Click(object sender, EventArgs e) { SelectedPort = (sender as ToolStripMenuItem).Text; } } |
Für die COM-Port Auflistung musste ich mir ein Mock-up programmieren, sowas hat mein PC nicht mehr :wink:
In der GUI ist ein Menüpunkt mit einem Leerzeichen eingefügt, damit der Pfeil für das Untermenü da ist:
(Und der Menüpunkt "COM Port" erhält ein DropDownOpening-Event)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!