Salve a tutti. Sto creando un editor di testi. Sull'evento formclosing (quando clicko sulla X), se sono state effettuate modifiche al documento appare una emssagebox a tre pulsanti (yesnocancel). Se premo yes apre la finestra di dialogo per salvare le modifiche, se premo no esce dal programma, mentre non so come fare per farlo restare nell'applicazione quando premo cancel. Il codice è il seguente:
codice:
Private Sub EditorTesti_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dim risposta As DialogResult
If salvato = False Then 'se: testo modificato
risposta = MessageBox.Show("Salvare le modifiche al documento?", "VB Text Editor", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
Select Case risposta
Case Windows.Forms.DialogResult.Yes
With SaveFileDialog1
.DefaultExt = "rtf" 'estensione di default
.FileName = strFileName 'nome file di default
.Filter = "Documento Rich Text Format (*.rtf)|*.rtf|Tutti i file (*.*)|*.*" 'opzioni possibili
.FilterIndex = 1
.OverwritePrompt = True 'avviso sovrascrittura
.Title = "Salva file" 'titolo finestra dialogo
End With
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then 'quando viene premuto OK
Try
strFileName = SaveFileDialog1.FileName 'assegnazione
txt1.SaveFile(strFileName, RichTextBoxStreamType.RichText) 'salvataggio file testo formattato
salvato = True
Catch ex As Exception 'in caso di errore, msgbox di errore
MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End If
Case Windows.Forms.DialogResult.No
End
Case Windows.Forms.DialogResult.Cancel
'E QUI COSA METTO?
End Select
End If
End Sub