Ciao a tutti,
sto creando un'applicazione con Visual Basic 2005 Express. In questa applicazione è presente una RichtextBox nella quale si possa scrivere, salvare ciò che si è scritto (rtf) e aprire file precedentemete creati (rtf).
Nell'applicazione è presente inoltre un sistema che permette, alla chiusura del file, se ci sono modifiche di far apparire una finestrina che chiede se chiudere senza salvare.

Purtroppo ci sono 2 errori. Eccoli:

* per quanto riguarda la pop up alla chiusura, quando apro un file rtf precedentemente creato, anche se non modifico il testo, appare ancora il messaggio. Concretamente, cosa posso modificare per sistemarla?

* quando provo il mio programma (o in modalità debug o direttamente il file .exe che ho generato) e seleziono, per esempio, l'apertura di un documento (funzioni con dialog), e clicco su uno dei due pulsanti di scelta (per esempio Apri o Annulla) è necessario che clicchi 2 volte, infatti dopo aver cliccato una prima volta, la finestrina ri.appare e è necessario che clicchi nuovamente. Accade quando c'è una struttura nel codice, come nel sistema di apertura, ma anche nella pop up di chiusura. E' normale?


Allego qui sotto il codice della pop up alla chiusura e in seguito il codice riferito al sistema di apertura file, così magari mi dite come risolverlo e come sostituire il codice attuale.

Grazie

--------pop up chiusura-------

Dim BoolModified As Boolean = False

Private Sub RichTextBoxPrintCtrl1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBoxPrintCtrl1.TextChanged

BoolModified = True

End Sub




Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

If BoolModified = True Then

Dim answer As Integer
answer = MessageBox.Show("Il documento non è stato salvato, uscire senza salvarlo?", "Documento non salvato", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If answer = Windows.Forms.DialogResult.No Then
e.Cancel = True ' Annulla la chiusura del Form
Exit Sub
Else
Application.Exit()
End If

Else

Application.Exit()

End If



End Sub

----------------

-------sistema apertura---

Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click


If RichTextBoxPrintCtrl1.Modified Then

Dim answer As Integer
answer = MessageBox.Show("Il documento non è stato salvato, continuare senza salvarlo?", "Documento non salvato", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If answer = Windows.Forms.DialogResult.No Then
Exit Sub

Else

OpenFile()

End If

Else

OpenFile()

End If



If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub


End Sub



Private Sub OpenFile()

OpenFileDialog1.Title = "Apri documento..."
OpenFileDialog1.DefaultExt = "rtf"
OpenFileDialog1.Filter = "Rich Text Files|*.rtf|All Files|*.*"
OpenFileDialog1.FilterIndex = 1



OpenFileDialog1.FileName = ""
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub



OpenFileDialog1.ShowDialog()

If OpenFileDialog1.FileName = "" Then Exit Sub


Dim strExt As String
strExt = System.IO.Path.GetExtension(OpenFileDialog1.FileNa me)
strExt = strExt.ToUpper()

Select Case strExt
Case ".RTF"
RichTextBoxPrintCtrl1.LoadFile(OpenFileDialog1.Fil eName, RichTextBoxStreamType.RichText)
Case Else
Dim txtReader As System.IO.StreamReader
txtReader = New System.IO.StreamReader(OpenFileDialog1.FileName)
RichTextBoxPrintCtrl1.Text = txtReader.ReadToEnd
txtReader.Close()
txtReader = Nothing
RichTextBoxPrintCtrl1.SelectionStart = 0
RichTextBoxPrintCtrl1.SelectionLength = 0
End Select

currentFile = OpenFileDialog1.FileName
RichTextBoxPrintCtrl1.Modified = False
Me.Text = "Editor - " & currentFile.ToString()

End Sub

-------