Text in Textbox verschwindet manchmal, manchmal nicht, wenn man reinklickt.

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von a.b_om.

    Text in Textbox verschwindet manchmal, manchmal nicht, wenn man reinklickt.

    Liebe Community

    Ich habe ein komisches Problem.

    Ich habe eine Form, indem Textboxen und Labels mit einem DataSet verknüpft sind.

    Einer meiner Textboxen, verhaltet sich völlig
    komisch. Wenn ich in diese reinklicke, verschwindet der Text. :thumbdown: Manchmal passiert das aber erst bei Doppelklick und manchmal
    passiert das nicht. ?(

    Ich habe 2 fast gleiche Formen. Auf einem ist das Verhalten, aber bei dem anderen nicht.

    Ich habe den Code kontrolliert und es ist nichts falsch. :thumbsup:

    Wisst ihr, wieso das ist und wie man das beheben kann?

    Ich bin am Ende meiner Geduld. Versuche schon seit 2 Tagen dieses Problem zu lösen. :thumbdown:

    a.b_om schrieb:

    Wisst ihr, wieso das ist und wie man das beheben kann?


    Ohne deinen Code zu kennen, würde ich sagen, schwer bis unmöglich die Ursache zu finden.
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin
    Hier ist mein kompletter Klassencode:
    Spoiler anzeigen

    Quellcode

    1. Public Class frmZeitcodeBearbeiten
    2. Public iZeitcodeID As Integer
    3. Public strZeitcodeNummer As String
    4. ''' <summary>
    5. ''' Speichern auf DB
    6. ''' </summary>
    7. Private Sub Speichern()
    8. Try
    9. Me.Validate()
    10. Me.bsTblZeitcode.EndEdit()
    11. Me.TableAdapterManager.UpdateAll(ZeiterfassungV17DataSet)
    12. 'Liste aktualisieren
    13. frmZeitcodeListe.tdbgRefresh()
    14. Catch ex As Exception
    15. End Try
    16. End Sub
    17. Private Sub frmZeitcodeBearbeiten_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    18. Try
    19. Me.taTblZeitcode.FillByZeitcodeID(Me.ZeiterfassungV17DataSet.tblZeitcode, iZeitcodeID)
    20. Catch ex As Exception
    21. End Try
    22. End Sub
    23. Private Sub cmdSpeichern_Click(sender As Object, e As EventArgs) Handles cmdSpeichern.Click
    24. Try
    25. 'Prüfen ob txtZeitcodenummer nicht leer
    26. If txtNummer.TextLength < 1 Then
    27. strMsg = "Die Zeitcodenummer darf nicht leer sein!" & vbCrLf & "Geben Sie eine Zeitcodenummer ein."
    28. strTitel = "Keine Zeitcodenummer eingegeben"
    29. MessageBox.Show(strMsg, strTitel, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    30. Exit Sub
    31. End If
    32. 'Prüfen ob Zeitcodenummer schon vergeben ist
    33. If Not ZeitcodenummerExists(txtNummer.Text) Then
    34. Speichern()
    35. Me.Close()
    36. Else
    37. strMsg = "Diese Zeitcodenummer wird bereits von einem Anderen Zeitcode verwendet!" & vbCrLf & "Geben Sie eine neue Zeitcodenummer ein."
    38. strTitel = "Zeitcodenummer bereits vergeben"
    39. MessageBox.Show(strMsg, strTitel, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    40. Exit Sub
    41. End If
    42. Catch ex As Exception
    43. End Try
    44. End Sub
    45. ''' <summary>
    46. ''' Überprüfen ob die Auftragsnummer bereits vergeben wurde
    47. ''' </summary>
    48. ''' <param name="strNewZeitcodenummer">Zu prüfende Auftragsnummer</param>
    49. ''' <returns>True wenn bereits vergeben</returns>
    50. Private Function ZeitcodenummerExists(ByVal strNewZeitcodenummer As String) As Boolean
    51. Try
    52. ZeitcodenummerExists = False
    53. If Not strZeitcodeNummer = strNewZeitcodenummer Then
    54. ZeitcodenummerExists = False
    55. Dim taZeitcodeEx As New ZeiterfassungV17DataSetTableAdapters.tblZeitcodeTableAdapter
    56. Dim dtZeitcodeEx As New ZeiterfassungV17DataSet.tblZeitcodeDataTable
    57. taZeitcodeEx.ClearBeforeFill = True
    58. taZeitcodeEx.FillByNummer(dtZeitcodeEx, strNewZeitcodenummer)
    59. If dtZeitcodeEx.Count > 0 Then ZeitcodenummerExists = True
    60. End If
    61. Catch ex As Exception
    62. End Try
    63. End Function
    64. Private Sub cmdSchliessen_Click(sender As Object, e As EventArgs) Handles cmdSchliessen.Click
    65. Try
    66. Me.Close()
    67. Catch ex As Exception
    68. End Try
    69. End Sub
    70. Private Sub txtNummer_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtNummer.KeyPress, txtZeitcodeID.KeyPress
    71. Try
    72. 'Check auf Keys
    73. 'Tab und Enter ignorieren
    74. If e.KeyChar = ChrW(Keys.Tab) Or e.KeyChar = ChrW(Keys.Enter) Then Exit Sub
    75. If Not CheckFldInput(FieldInputEnum.fldOnlyNumeric, e.KeyChar, sender.Text, sender.SelectionStart) Then
    76. e.Handled = True
    77. End If
    78. Catch ex As Exception
    79. End Try
    80. End Sub
    81. End Class

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „a.b_om“ ()

    @a.b_om Komplett isser nich,
    wenn ich Deinen Code in eine leere Form kopiere, compiliert er nicht, weil eine ganze Menge Deklarationen und Instanzen nicht verfügbar sind.
    Erstell ein abgespecktes Projekt, das den Effekt reproduziert, pack es ohne obj- und bin-Ordner in eine ZIP und häng es an.
    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!
    @RodFromGermany Doch das isser. Der Klassencode ist ganz. Ich habe nichts vom DataSet oder Form gesagt...

    Jetzt für alle:
    Also jetzt, bin ich durcheinander.
    Jetzt passiert das nicht mehr.
    Das heisst aber nicht, dass der Fehler weg ist.

    Ich begreife gar nichts mehr.

    Achtung, ihr müsst in den My Settings einiges ändern. Den Datenbankpfad, Computername und Passwort.
    Die Datenbank ist im Unterordner DB.

    Mein .zip:
    Dateien

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „a.b_om“ ()

    @a.b_om Tut mir leid, aber ich mach dafür keine Test- bzw. Evaluierungsinstallation.
    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!