Click Event funktioniert auf anderen PCs nicht, bei mir jedoch schon?

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Click Event funktioniert auf anderen PCs nicht, bei mir jedoch schon?

    Hallo :)

    Und zwar hab ich in meinem Project ein ".MouseDoubleClick" Event, welches bei Doppelklick auf Textboxen diese vergrößert/verkleinert.

    Ganz simpel.

    Problem: Bei mir funktioniert das alles wunderbar (Sowohl während des Debuggings, als auch wenn ich die compilierte Exe ausführe)
    Auf anderen PCs (zwei hab ich jetzt getestet, bei beiden das selbe Resultat) funktioniert alles wunderbar, bis auf diese ".MouseDoubleClick" Events.
    Leider weiß ich nicht, warum das bei mir einwandfrei funktioniert, auf anderen PCs/Laptops aber nicht :/
    Weiß da jemand was?

    PS: alle anderen Funktionalitäten funktionieren auch auf den anderen PCs
    Danke!

    Grüße,
    Kevin

    Viercnt schrieb:

    diese ".MouseDoubleClick" Events
    kommen in welchem Code vor?
    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!
    Hier ist der Code den ich verwende:

    VB.NET-Quellcode

    1. Private Sub txt_Resize_MouseClick(sender As Object, e As MouseEventArgs) Handles txt_AFSusceptibility.MouseDoubleClick, txt_BH.MouseDoubleClick, txt_BP.MouseDoubleClick, ... [ein paar mehr Doubleclick Handler]
    2. Dim send As TextBox = TryCast(sender, TextBox)
    3. Dim SmallSize As Size = New Size(250, 20)
    4. Dim BigSize As Size = New Size(250, 120)
    5. Dim StartColor As Color
    6. If send.Size = SmallSize Then
    7. send.Multiline = True
    8. send.Parent.Size = New Size(434, 122)
    9. send.Size = New Size(250, 120)
    10. If cb_highlight.CheckState Then
    11. StartColor = send.BackColor
    12. send.BackColor = Color.Orange
    13. End If
    14. ElseIf send.Size = BigSize Then
    15. send.Multiline = False
    16. send.Size = New Size(250, 20)
    17. send.Parent.Size = New Size(434, 24)
    18. send.BackColor = StartColor
    19. End If
    20. End Sub


    PSS: Die Textboxen liegen auf Panels, in einem FlowLayoutPanel, ich resize die panels über send.parent.size dynamisch mit => Funktioniert (bei mir) auch super, aber wie gesagt, auf einem anderen PC nicht ^^'
    Danke!

    Grüße,
    Kevin
    @Viercnt Wie äußert sich das Nicht-Funktionieren? Mach da ggf. ne MessageBox rein.
    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!

    Viercnt schrieb:

    ne Idee?

    RodFromGermany schrieb:

    Mach da ggf. ne MessageBox rein.
    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!
    So, endlich wieder im Büro.

    Habe mal Div. Messageboxen ausprobiert.

    Test 1:

    Visual Basic-Quellcode

    1. Private Sub txt_Resize_MouseClick(sender As Object, e As MouseEventArgs) Handles txt_AFSusceptibility.MouseDoubleClick, txt_BH.MouseDoubleClick, txt_BP.MouseDoubleClick, ... [ein paar mehr Doubleclick Handler]
    2. Dim send As TextBox = TryCast(sender, TextBox)
    3. Dim SmallSize As Size = New Size(250, 20)
    4. Dim BigSize As Size = New Size(250, 120)
    5. Dim StartColor As Color
    6. [b]Messagebox.Show("Test")[/b]
    7. If send.Size = SmallSize Then
    8. send.Multiline = True
    9. send.Parent.Size = New Size(434, 122)
    10. send.Size = New Size(250, 120)
    11. If cb_highlight.CheckState Then
    12. StartColor = send.BackColor
    13. send.BackColor = Color.Orange
    14. End If
    15. ElseIf send.Size = BigSize Then
    16. send.Multiline = False
    17. send.Size = New Size(250, 20)
    18. send.Parent.Size = New Size(434, 24)
    19. send.BackColor = StartColor
    20. End If
    21. End Sub

    Ergebnis: Doubleclick Event wird offensichtlich ausgelöst, Textbox wird nämlich angezeigt. Der Kram danach wird aber nicht abgefahren (Also auf den beiden anderen Rechnern, bei mir funktioniert es perfekt!)

    Test 2:

    Visual Basic-Quellcode

    1. Private Sub
    2. txt_Resize_MouseClick(sender As Object, e As MouseEventArgs) Handles
    3. txt_AFSusceptibility.MouseDoubleClick, txt_BH.MouseDoubleClick,
    4. txt_BP.MouseDoubleClick, ... [ein paar mehr Doubleclick Handler]
    5. Dim send As TextBox = TryCast(sender, TextBox)
    6. Dim SmallSize As Size = New Size(250, 20)
    7. Dim BigSize As Size = New Size(250, 120)
    8. Dim StartColor As Color
    9. If send.Size = SmallSize Then
    10. [b]Messagebox.Show("Test")[/b]
    11. send.Multiline = True
    12. send.Parent.Size = New Size(434, 122)
    13. send.Size = New Size(250, 120)
    14. If cb_highlight.CheckState Then
    15. StartColor = send.BackColor
    16. send.BackColor = Color.Orange
    17. End If
    18. ElseIf send.Size = BigSize Then
    19. send.Multiline = False
    20. send.Size = New Size(250, 20)
    21. send.Parent.Size = New Size(434, 24)
    22. send.BackColor = StartColor
    23. End If
    24. End Sub

    Ergebnis: Bei mir voll funktionsfähig, bei den beiden anderen PCs geschiet erneut nichts! (gar nichts, auch keine Messagebox)

    3. Test:

    Visual Basic-Quellcode

    1. Private Sub
    2. txt_Resize_MouseClick(sender As Object, e As MouseEventArgs) Handles
    3. txt_AFSusceptibility.MouseDoubleClick, txt_BH.MouseDoubleClick,
    4. txt_BP.MouseDoubleClick, ... [ein paar mehr Doubleclick Handler]
    5. Dim send As TextBox = TryCast(sender, TextBox)
    6. Dim SmallSize As Size = New Size(250, 20)
    7. Dim BigSize As Size = New Size(250, 120)
    8. Dim StartColor As Color
    9. If send.Size = SmallSize Then
    10. send.Multiline = True
    11. send.Parent.Size = New Size(434, 122)
    12. send.Size = New Size(250, 120)
    13. If cb_highlight.CheckState Then
    14. StartColor = send.BackColor
    15. send.BackColor = Color.Orange
    16. End If
    17. ElseIf send.Size = BigSize Then
    18. [b]Messagebox.Show("Test")[/b]
    19. send.Multiline = False
    20. send.Size = New Size(250, 20)
    21. send.Parent.Size = New Size(434, 24)
    22. send.BackColor = StartColor
    23. End If
    24. End Sub

    Ergebnis: Bei mir funktioniert das minimieren auch wieder wunderbar (Mit Msgbox natürlich), auf den beiden anderen PCs, komischerweise, kommt bei erstem Doppelklick (Der eigentlich maximieren sollte) nur die TextBox, jedoch wird nichts maximiert/minimiert :/

    bin langsam echt überfragt :(
    jmd. ne Idee?
    Danke!

    Grüße,
    Kevin

    Viercnt schrieb:

    jmd. ne Idee?
    Offensichtlich haben die Controls eine andere Größe.
    Nach If und ElseIf musst Du noch ein Else einfügen und nachsehen, was da passiert ist:

    VB.NET-Quellcode

    1. If send.Size = SmallSize Then
    2. ' ...
    3. ElseIf send.Size = BigSize Then
    4. ' ...
    5. Else
    6. MessageBox.Show(send.Size.ToString)
    7. End If
    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!