HejProblem med kontroll fråga vis stängning av formulär
Jag har ett problem med koden nedan. Koden ligger under btnClose och formuläret ligger i ett mdi parent form. När användaren trycker stäng skall koden kontrollera en variabel som sätts till true om texten i textboxarna ändras. Så långt allt väl men när kontrollfrågan dyker upp och man svarar nej så stängs formuläret, om man då vill stänga applikationen så har den hängt sig det går att jobba vidare men inte stänga. Utan då får man köra ctrl alt del för att döda det. En sak till som ställer till det är att det beror på vilken dator man kör på jag får det på min bärbara IBM men inte stationära DELL. Medans min kollega får det på stationära DELL men inte på sin bärbara IBM.
Någon som har en ide eller en annan lösning.
Dat vi vill är att om man stänger ner utan att sparat så sakll man få en kontroll fråga.
/Joakim
Kod under btnClose
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
'Stänger formuläret
Try
''Tar om hand om eventuella ändringar innan formuläret stängs
If mchanged_UL Or mchanged_ULKontakt Or mchanged_SCBpersonal Then
Dim HelperMessage As New Client.Helper.Message
'Skickar ut från om formuläret ska stängas utan att spara
Select Case HelperMessage.QuestionUnsavedData()
Case DialogResult.Yes
'Är UL ändrad?
If mchanged_UL Then
SaveUpdate("UL")
Me.Close()
End If
'Är ULkontakt ändrad?
If mchanged_ULKontakt Then
SaveUpdate("ULKon")
Me.Close()
End If
'Är SCBpersonal ändrad?
If mchanged_SCBpersonal Then
SaveUpdate("SCBper")
Me.Close()
End If
Case DialogResult.Cancel
'Behåller fönster öppet även fast man har försökt stänga
Exit Sub
Case DialogResult.No
Me.Close()
End Select
HelperMessage = Nothing
mchanged_UL = False
mchanged_ULKontakt = False
mchanged_SCBpersonal = False
Else
Me.Close()
End If
Me.Close()
Catch ex As Exception
'Visar felmeddelande
MessageBox.Show(ex.Message())
Finally
End Try
End Sub
Kod för fråge formuläret
Public Function QuestionUnsavedData _
(Optional ByVal fragetext As String = "Ändringar har gjorts. Vill du spara?", _
Optional ByVal rubriktext As String = "FiR - Kontrollfråga") As DialogResult
'Fråga vad som ska göras: Ja/Nej/Avbryt ?
QuestionUnsavedData = MessageBox.Show(Me, fragetext, rubriktext, MessageBoxButtons.YesNoCancel, _
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
End Function