C# Textbox Inhalt verwenden?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Am einfachsten geht es indem du eine Klasse für deine Drucker definierst und die Items Eigenschaft der Combobox benutzt. Dafür musst du die ToString() Methode in deiner Drucker Klasse überschreiben und eine sinnvolle Bezeichnung für deine Drucker zurückgeben. Wenn der Knopf gedrückt wird kannst du das selektierte Item anfragen (dein Drucker Objekt), das in deine Druckerklasse casten und damit weiterarbeiten.

Ich poste dir mal ein simples Programm als Beispiel. Dieses verwendet eine Combobox (combobox), einen Button (button) und ein Label (label).

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace Combobox
{
public partial class Form1 : Form
{
public class Drucker
{
public string Name { get; set; }
public string IP { get; set; }
public string LableCaption => string.Format("{0} ({1})", Name, IP);
public Drucker(string Name, string IP)
{
this.Name = Name;
this.IP = IP;
}

public override string ToString()
{
return Name;
}
}

List DruckerListe;
public Form1()
{
InitializeComponent();
DruckerListe = new List();

DruckerListe.Add(new Drucker("Drucker A", "192.168.0.1"));
DruckerListe.Add(new Drucker("Drucker B", "192.168.0.2"));
DruckerListe.Add(new Drucker("Drucker C", "192.168.0.3"));
DruckerListe.Add(new Drucker("Drucker D", "192.168.0.4"));
DruckerListe.Add(new Drucker("Drucker E", "192.168.0.5"));
DruckerListe.Add(new Drucker("Drucker F", "192.168.0.6"));

comboBox.Items.AddRange(DruckerListe.ToArray());
}

private void button_Click(object sender, EventArgs e)
{
if (comboBox.SelectedItem is Drucker)
{
label.Text = ((Drucker)comboBox.SelectedItem).LableCaption;
}
}
}
}

viel Erfolg,

gruss dj


DataJockey  17.02.2017, 10:28

gutefrage bekommt immer noch keine spitzen Klammern hin. *grummel*

also in dem Quellcode muss statt

List DruckerListe;
List<Drucker> DruckerListe;

und statt

DruckerListe = new List();
DruckerListe = new List<Drucker>();

stehen.

0
LuggaDean 
Fragesteller
 17.03.2017, 10:36

Vielen lieben Dank für die Bemühung! Hat alles geklappt. LG

0

Das ganze sollte so in etwa aussehen:

... onclick_deinButton(...)
{ string text = textfeld.Text;
}

Jedoch hätte ich dir empfohlen das Druckername/IP-Mapping als Dictionary<string, string> anzulegen, anstatt von vielen einzelnen Variablen.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium

LuggaDean 
Fragesteller
 16.02.2017, 16:04

Ich probier es gerade mal aus, jetzt schonmal danke für die schnelle Antwort!

0
LuggaDean 
Fragesteller
 16.02.2017, 16:58

Habe jetzt den Printer als Array deklariert als typ String mit max 500. Dann unten die letzten 4 Nummern (ltap seht bereits in der textbox) abgefragt und dann findet er die IP passend zu der Nummer :) Danke für die Hilfe. LG

0

du kannst in den Button doch einfach folgendes rein schreiben:

String printer = textBox1.text;