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

Rispondi quotando