Button kann nicht geklickt werden

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von gfcwfzkm.

    Button kann nicht geklickt werden

    Hi,

    ich versuche auf meinem Multi-Editor eine Form mit Button zu machen.
    So weit so gut. Jetzt will ich, das beim klick aufm button was passiert.... Und da kommt der fehler...

    VB.NET-Quellcode

    1. 'ConsoleApplication
    2. #Region "Imports"
    3. Imports System.Windows.Forms
    4. Imports System
    5. Imports System.Diagnostics
    6. #End Region
    7. Public Class Main
    8. Public Shared Sub Main()
    9. Console.WriteLine("Form wird gestartet...")
    10. Call Mainfrm.Components()
    11. Console.Writeline("Zum beenden einfach HIER enter drücken")
    12. End Sub
    13. 'Public Shared Sub btn1_click(ByVal sender as System.Object, ByVal e as System.EventArgs)btn1.click
    14. 'Call IP_Address
    15. 'End Sub
    16. Shared Sub IP_Address()
    17. Dim client As New Net.WebClient
    18. Dim publicIP As String = client.DownloadString("http://automation.whatismyip.com/n09230945.asp")
    19. Console.WriteLine("IP: " & publicIP)
    20. Console.WriteLine("Host: " & Net.Dns.GetHostEntry(publicIP).HostName)
    21. End sub
    22. End Class
    23. Public Class Mainfrm
    24. Dim btn1 as New Button
    25. Dim frm1 as New Form
    26. Shared Sub Components()
    27. 'Dim frm as New Form
    28. 'Dim btn1 as New Button
    29. btn1.Text = "click me"
    30. frm1.Controls.add(btn1)
    31. frm1.Text = "Form1"
    32. frm1.ShowDialog
    33. 'If btn1.click = True Then
    34. 'Call Main.IP_Address()
    35. 'End If
    36. End sub
    37. Public Shared Sub btn1.click(ByVal sender as Object,ByVal e as System.EventArgs)
    38. Call Main.IP_Address
    39. End Sub
    40. End Class


    Hier die Fehlermeldung: (siehe anhang)

    könnt ihr mir weiterhelfen?

    mfg

    gfcwfzkm
    Bilder
    • Unbenannt.PNG

      72,33 kB, 461×544, 124 mal angesehen
    versuche mal in der Public Class Mainfrm

    VB.NET-Quellcode

    1. Dim btn1 as New btn1
    2. Dim frm1 as New Form
    3. Shared Sub Components()
    4. 'Dim frm as New Form
    5. 'Dim btn1 as New Button
    6. btn1.Text = "click me"
    7. frm1.Controls.add(btn1)
    8. frm1.Text = "Form1"
    9. frm1.ShowDialog
    10. 'If btn1.click = True Then
    11. 'Call Main.IP_Address()
    12. 'End If
    13. End sub
    14. Public Shared Sub btn1.click(ByVal sender as Object,ByVal e as System.EventArgs)
    15. Call Main.IP_Address
    16. End Sub
    das mit dem Modul geht nicht.

    Habe es mit AddHandler probiert, und wieder ein echt mühsamer fehler...

    VB.NET-Quellcode

    1. Shared Sub Components()
    2. Dim frm1 as New Form
    3. Dim btn1 as New Button
    4. btn1.Text = "click me"
    5. frm1.Controls.add(btn1)
    6. frm1.Text = "Form1"
    7. AddHandler btn1.click, AddressOf btn1_geklickt
    8. frm1.ShowDialog
    9. 'If btn1.click = True Then
    10. 'Call Main.IP_Address()
    11. 'End If
    12. End sub
    13. Shared Sub btn1_geklickt()
    14. MessageBox.Show("Es funzt =D")
    15. End Sub


    Error:(siehe Anhang)

    mfg
    Bilder
    • x.PNG

      35,35 kB, 495×228, 92 mal angesehen
    Warum nimmst Du nicht eine Form-Anwendung und gibst ihr einen Splash-Screen?
    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!
    8|

    Kapiere nicht ganz...

    möchte ein richtige Anwendbare Windows-Forms-Anwendung mit den "/target:winexe" machen.

    Und brauche dafür halt etwas hilfe, da ich einen Andwendbaren button möchte
    also ich glaub ja immer noch, dass das geht:

    VB.NET-Quellcode

    1. 'ConsoleApplication
    2. #Region "Imports"
    3. Imports System.Windows.Forms
    4. Imports System
    5. Imports System.Diagnostics
    6. #End Region
    7. Public Class Main
    8. Public Shared Sub Main()
    9. Console.WriteLine("Form wird gestartet...")
    10. Call Mainfrm.Components()
    11. Console.Writeline("Zum beenden einfach HIER enter drücken")
    12. End Sub
    13. 'Public Shared Sub btn1_click(ByVal sender as System.Object, ByVal e as System.EventArgs)btn1.click
    14. 'Call IP_Address
    15. 'End Sub
    16. Shared Sub IP_Address()
    17. Dim client As New Net.WebClient
    18. Dim publicIP As String = client.DownloadString("http://automation.whatismyip.com/n09230945.asp")
    19. Console.WriteLine("IP: " & publicIP)
    20. Console.WriteLine("Host: " & Net.Dns.GetHostEntry(publicIP).HostName)
    21. End sub
    22. End Class
    23. Public Module Mainfrm
    24. Dim btn1 as New Button
    25. Dim frm1 as New Form
    26. Sub Components()
    27. 'Dim frm as New Form
    28. 'Dim btn1 as New Button
    29. btn1.Text = "click me"
    30. frm1.Controls.add(btn1)
    31. frm1.Text = "Form1"
    32. frm1.ShowDialog
    33. 'If btn1.click = True Then
    34. 'Call Main.IP_Address()
    35. 'End If
    36. End sub
    37. Public Sub btn1.click(ByVal sender as Object,ByVal e as System.EventArgs)
    38. Call Main.IP_Address
    39. End Sub
    40. End Module
    was geht daran nicht?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Habs nun so gelöst, aber es passiert nix. Auc kein Fehler oder so:

    VB.NET-Quellcode

    1. 'ConsoleApplication
    2. #Region "Imports"
    3. Imports System.Windows.Forms
    4. Imports System
    5. Imports System.Diagnostics
    6. #End Region
    7. Public Class Main
    8. 'Public t as Threading.Thread(AddressOf Mainfrm.Components)
    9. Public Shared Sub Main()
    10. Console.WriteLine("Form wird gestartet...")
    11. 't.start()
    12. Call Mainfrm.Components()
    13. Console.Writeline("Zum beenden einfach HIER enter drücken")
    14. Console.ReadLine()
    15. End Sub
    16. 'Public Shared Sub btn1_click(ByVal sender as System.Object, ByVal e as System.EventArgs)btn1.click
    17. 'Call IP_Address
    18. 'End Sub
    19. Shared Sub IP_Address()
    20. Dim client As New Net.WebClient
    21. Dim publicIP As String = client.DownloadString("http://automation.whatismyip.com/n09230945.asp")
    22. Console.WriteLine("IP: " & publicIP)
    23. Console.WriteLine("Host: " & Net.Dns.GetHostEntry(publicIP).HostName)
    24. End sub
    25. End Class
    26. Public Module Mainfrm
    27. Private btn1 as New Button
    28. Private frm1 as New Form
    29. Sub Components()
    30. 'Dim frm as New Form
    31. 'Dim btn1 as New Button
    32. btn1.Text = "click me"
    33. frm1.Controls.add(btn1)
    34. btn1.Height = 100
    35. btn1.Width = 120
    36. frm1.Height = 135
    37. frm1.Width = 100
    38. frm1.Text = "Form1"
    39. frm1.MinimizeBox = False
    40. frm1.MaximizeBox = False
    41. frm1.ShowDialog
    42. AddHandler btn1.click, AddressOf Button_clicked
    43. 'If btn1.click = True Then
    44. 'Call Main.IP_Address()
    45. 'End If
    46. End sub
    47. Public Sub Button_clicked(ByVal sender as Object,ByVal e as System.EventArgs)
    48. Call Nachricht()
    49. End Sub
    50. Public Sub Nachricht()
    51. MessageBox.Show("Es klappt")
    52. End Sub
    53. 'Public Sub btn1.click(ByVal sender as Object,ByVal e as System.EventArgs)
    54. 'Call Main.IP_Address
    55. 'End Sub
    56. End Module


    Also, kein Fehler, aber was dann Falsch?

    mfg

    gfcwfzkm
    Jo, super, funzt =D

    Jetzt muss ich nur noch sehen, wie ich die Konsole verschwinden lasse oder wie man target:winexe verwendet...

    mfg & thx

    gfcwfzkm