MsgBox aktiviert Felder

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von LaMiy.

    MsgBox aktiviert Felder

    Hi Forum,
    Ich habe ein Button eine Textbox und noch paar andere Textboxen, Buttons und Checkboxen.
    Z.B
    Button 1
    Textbox 1

    Textbox 2
    Button 2
    Checkbox 2

    #Wenn ich auf Button 1 klick wird gecheckt ob bestimmte Zeichen vorhanden sind.
    #Wenn die vorhanden sind erscheint MsgBox 1 wenn nicht MsgBox 2 .

    Textbox 2, Button 2 und Checkbox 2 sollen deaktiviert sein bis MsgBox 1 erscheint (sodass man nicht schreiben, klicken und checken kann).
    Wie kriege ich dies hin ?

    Die Sätze mit # sind schon gelöst

    Danke im voraus
    @Cheater24

    VB.NET-Quellcode

    1. Dim msg As String
    2. Dim title As String
    3. Dim style As MsgBoxStyle
    4. Dim response As MsgBoxResult
    5. msg = "Do you want to continue?" ' Define message.
    6. style = MsgBoxStyle.DefaultButton2 Or _
    7. MsgBoxStyle.Critical Or MsgBoxStyle.YesNo
    8. title = "MsgBox Demonstration" ' Define title.
    9. ' Display message.
    10. response = MsgBox(msg, style, title)
    11. If response = MsgBoxResult.Yes Then ' User chose Yes.
    12. ' Perform some action.
    13. Else
    14. ' Perform some other action.
    15. End If


    Quelle: msdn.microsoft.com/de-de/library/139z2azd(v=VS.80).aspx
    Wennschon MessageBox, dann richtig: MessageBox auf MSDN
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Auszug auf obrigen Code, der im Link enthalten ist:

    VB.NET-Quellcode

    1. Dim result = MessageBox.Show(message, caption, _
    2. MessageBoxButtons.YesNo, _
    3. MessageBoxIcon.Question)
    4. If (result = DialogResult.No) Then
    5. 'Ereignis
    6. End If


    Du möchtest ein Ereignis ausführen, wenn der User in der MessageBox auf ja geklickt hat. Mit diesem Code fragst du das ab. Links um es besser zu verstehen sind in hier in diesem Thema enthalten.

    Edit: Wichtig ist für dich das hier:

    VB.NET-Quellcode

    1. If Result = System.Windows.Forms.DialogResult.Yes Then
    2. 'Button1.Enabled = True
    3. End If
    something senseless like... ;)
    Spoiler anzeigen

    VB.NET-Quellcode

    1. sub textbox.textchange
    2. for each crt as control in {textbox2, button2, watauchimmer}
    3. crt.enabled = textbox.textcontains("@") andalso textbox.text.contains(".")
    4. next
    5. end sub

    ernsthaft.. im Textchange event deiner textbox, wo zuerst was eingegeben wird:

    VB.NET-Quellcode

    1. Textbox2.enabled = textbox1.textcontains("@") andalso textbox1.text.contains(".")
    2. button2.enabled = textbox2.enabled
    3. ....
    Tut mir leid :) genau diese Frage musst du in deinem ersten Beitrag fragen :)
    Also: Im Form Load Event:

    VB.NET-Quellcode

    1. Button1.Enabled = False
    2. 'bewirkt, dass du Button1 nicht anklicken kannst


    Dann wenn der text aus Tb1 "richtig ist" :

    VB.NET-Quellcode

    1. Button1.Enabled = True
    2. 'gibt den button1 frei


    Der .Enabled Boolean, gilt für fast alle Controls. Also z.B TextBox1.Enabled = False

    Ob der Text richtig ist fragst du i Text-Chanced Event ab :)

    Edit: FloFuchs Methode ist in der Programmierung etwas erweitert, und etwas besser :)