Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    89

    aiuto con richtextbox!

    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

    -------

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,305

    Moderazione

    Attenzione ai titoli: il regolamento vieta espressamente l'utilizzo di epiteti e obbliga ad indicare il linguaggio utilizzato (nel tuo caso VB2005).

    Inoltre, quando posti il codice, utilizza i tag CODE appositi.

    Il titolo lo aggiusto io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.