Fragensteller
Kann mir Error nicht erklären

Frage
-
Hallo,
Ich habe einen Seltsamen Error.
Ich programmiere ein Programm für die Schule und nutze daher Framework 3.0 da in der Schule was neueres nicht installiert sein wird glaube ich. Naja ich denke mal, das dies sowieso bei diesem Error egal ist aber trotzdem wollte ich das mal anfügen. Also mein Error:
Ich fange das close Event ab indem ich diesen Code verwende:
Dim AllowClose As Boolean Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing Try Try If AllowClose = True Then Close() End If Catch ex As Exception Application.Exit() End Try If Label3.Visible = True Then Dim frage As MsgBoxResult = MsgBox("Sie haben noch nicht gespeicherte Einstellungen, möchten Sie diese Einstellungen verwerfen und das Fenster schließen ?", MsgBoxStyle.YesNo, "Pass auf") If (frage = MsgBoxResult.Yes) Then AllowClose = True If AllowClose = True Then Close() End If Else End If Else Close() End If Catch ex As Exception MsgBox(Err.Description) End Try End Sub
Aber bekomme dann folgenden unerklärlichen Error:
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class Form1 Inherits System.Windows.Forms.Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally Error --> MyBase.Dispose(disposing) End Try End Sub
Was mache ich da falsch ?????
Und was kann ich da machen ???
Alle Antworten
-
Hallo,
bitte poste immer die Fehlermeldung sowie die Art des Fehlers.Das Problem besteht wahrscheinlich darin, dass du Close() erneut aufrufst. D.h. Es entsteht eine Endlosschleife.
Um das Beenden abzubrechen benutze die Cancel-Eigenschaft der EventArgs:Dim AllowClose As Boolean Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing e.Cancel = True 'Abbrechen' Try Try If AllowClose = True Then e.Cancel = False 'Doch nicht abbrechen' End If Catch ex As Exception Application.Exit() End Try If Label3.Visible Then Dim frage As MsgBoxResult = MsgBox("Sie haben noch nicht gespeicherte Einstellungen, möchten Sie diese Einstellungen verwerfen und das Fenster schließen ?", MsgBoxStyle.YesNo, "Pass auf") If (frage = MsgBoxResult.Yes) Then AllowClose = True If AllowClose = True Then e.Cancel = False 'Doch nicht abbrechen' End If Else End If Else e.Cancel = False 'Doch nicht abbrechen' End If Catch ex As Exception MsgBox(Err.Description) End Try End Sub
PS: Ich empfehle dir deine Controls ordentlich zu benennen. Nach 2 Wochen wirst du nicht mehr wissen, was Label3 ist.
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Bearbeitet Tom Lambert (Koopakiller)Moderator Donnerstag, 13. Februar 2014 19:49 Format & PS