È ovvio che ti dice "formato di file non valido": lui tenta di interpretare il tuo file txt come un file rtf, e ovviamente non ne riconosce il formato. Se tu avessi controllato sulla MSDN avresti scoperto che il metodo "LoadFile" accetta due parametri, il primo, obbligatorio, indica il percorso del file da caricare, mentre il secondo, facoltativo, indica come interpretare il contenuto del file; se questo parametro viene omesso la funzione assume che il file che gli dici di caricare sia in formato RTF. La soluzione è la seguente:
codice:
Apri.InitialDirectory = "C:\"
If Apri.ShowDialog() = Windows.Forms.DialogResult.OK Then
rtfTesto.LoadFile(Apri.FileName, rtfText)
End If
Una soluzione più raffinata consisterebbe nel decidere come fargli caricare il file a seconda dell'estensione, magari aggiungendo una rudimentale gestione degli errori:
codice:
Apri.InitialDirectory = "C:\"
If Apri.ShowDialog() = Windows.Forms.DialogResult.OK Then
Try
If Apri.FileName.ToUpper().EndsWith(".TXT")
rtfTesto.LoadFile(Apri.FileName, rtfText)
ElseIf Apri.FileName.ToUpper().EndsWith(".RTF")
rtfTesto.LoadFile(Apri.FileName, rtfRTF)
Else
MessageBox.Show("Formato non supportato.","Errore",MessageBoxButtons.OK,MessageBoxIcon.Error)
End If
Catch ex As Exception
MessageBox.Show("Errore: " & ControlChars.CrLf & ex.ToString(), "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End If