Eine Combobox füllt mehrere Textboxen mit unterschiedlichen Daten

  • VB.NET

Es gibt 31 Antworten in diesem Thema. Der letzte Beitrag () ist von tuvok.

    ICh denke mal, Dein ganzes Design ist iwie vor den Baum.
    Oder
    Du hast 123 TextBoxen zu viel in Deiner GUI.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hast Du Dir mal Post 19 ganz durchgelesen? Da steht die Lösung vollständig drin...
    Btw.. natürlich zeigt er nur den Namen an:

    tuvok schrieb:

    boxname = My.Application.OpenForms.Item(i).ActiveControl.Name

    das haste Ihm ja hier gesagt!
    wenn due swirklich so umständlich machen willst schau dir mal folgendes an:

    VB.NET-Quellcode

    1. dim txtbox = directcast(My.Application.OpenForms.Item(i).ActiveControl),textbox)

    tuvok schrieb:

    das wird nen Einteilungsplan für MA
    Wie sieht es denn mit einem DataGridView aus?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ja das mag ja sein.. dann musste da mal durchsteigen.. btw wie du siehst hast du dein Weg ja auch nicht verstanden!
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub txt_click(ByVal sender As Object, ByVal e As EventArgs) 'Das Clickevent dass jeder Box zugeordnet wird
    2. Dim _txt = DirectCast(sendr, TextBox) 'erstmal aus dem Sender ne Textbox machen
    3. If String.IsNullOrEmpty(_txt.Text) Then 'nachsehen ob die angeklickte Box schon ein Element enthält
    4. If Not ComboBox1.SelectedItem Is Nothing Then 'Wenn ja schauen ob in der Combobox was ausgewählt is
    5. _txt.Text = ComboBox1.SelectedItem.ToSting 'Wenn ja schreiben wir das in die Textbox
    6. End If
    7. Else
    8. _txt.Clear() 'Wenn schon was drin steht in der Textbox.. löschen
    9. End If
    10. End Sub
    11. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    12. For Each crt In Me.Controls.OfType(Of TextBox)() 'hier weisen wir ALLEN Textboxen unser event zu....
    13. AddHandler crt.Click, AddressOf txt_click
    14. Next
    15. End Sub

    tuvok schrieb:

    Schlecht..
    Deine GUI ist nicht bedienbar.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Warum ist sie nicht bedienbar? ..

    ich wähle in der combobox ganz normal den Namen aus klick mit nem DoppelClick in die Textbox in die der Name rein soll
    und druck mir dann das ganze aus..

    das was ich halt noch nicht ganz hinbekommen habe ist, dass zu speichern weil ja My.Settings wegfällt und das Einlesen wieder..
    Und was ist jetzt daran nicht bedienbar?

    tuvok schrieb:

    Und was ist jetzt daran nicht bedienbar?
    Du bist dann wohl der einzige Nutzer, der weiß, wo er doppelklicken muss. :S
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Nein das wissen doch alle die das bedienen müssen?
    Es muss halt jede Textbox doppelt anklickbar sein.

    Das man den Namen in jede der Boxen reinklicken kann.. da ja an der Seite in den Textboxen schon steht wo was ist.. und das teil ist auch in 3 Linien aufgebaut.. sieht mittlerweile auch schon anders aus als auf dem Screen :)
    ich muss mal schauen ob ich dabei FloFuchs seinen Beispielen und Co. durchblicke :)