Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [vb.net]Problema con la proprietà modified

    Save a tutti,
    Sicuramente il mio problema è banale, ma non so come risolverlo.
    Nel mio form ho un tabcontrol con delle pagine, all'interno di ogni pagina viene messa automaticamente una richtextbox.
    Volevo però che, quando una delle rtb del tabcontrol è stata modificata(.modified), il button salva si abilita, al contrario, se nessuna richtextbox è stata modificata, il button salva è disabilitato.
    Vi posto il codice:
    codice:
    For Each pagina As TabPage In TabControl1.TabPages
                Dim rtb As RichTextBox
                rtb = DirectCast(pagina.Tag, RichTextBox)
                If rtb.Modified = False Then
                    SalvaToolStripMenuItem.Enabled = False
                Else
                    SalvaToolStripMenuItem.Enabled = True
                End If
            Next
    Il problema è che, quando cambio pagina del tabcontrol, SalvaToolStripMenuItem è disabilitato, anche se magari, la rtb nella pagina precedente è stata modificata.
    RichiFra03

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Dopo la

    SalvaToolStripMenuItem.Enabled = True

    inserisci una

    Exit For
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie per il consiglio me non è cambiato nulla. Per me l'unico modo è fare x esempio:
    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e _
    As System.EventArgs) Handles RichTextBox1.TextChanged
    RichTextBox1.Modified = True
    End Sub
    impostare nella richtextbox_textchanged che la richtextbox è stata modificata.
    Però, se io la richtextbox non l'ho ancora creata(infatti al form_load il tabcontrol non ha pagine), come faccio a impostargli la proprietà modified?
    Grazie ancora...
    RichiFra03

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da RichiFra03
    Però, se io la richtextbox non l'ho ancora creata(infatti al form_load il tabcontrol non ha pagine), come faccio a impostargli la proprietà modified?
    How to: Create Event Handlers at Run Time for Windows Forms
    http://msdn.microsoft.com/en-us/library/dfty2w4e.aspx
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Grazie della guida, ho fatto in questo modo:
    Ho tolto dal metodo RichTextBox1_TextChanged, la clausola Handles.
    Ho aggiunto, dove creo una tabpage con la sua richtextbox, un gestore allo stesso evento:
    AddHandler oggettoRichTectBox.TextChanged, AddressOf RichTextBox1_TextChanged
    la stessa cosa (nel Load) per la tabpage+richtextbox già esistente.
    nel gestore di evento, invece di modificare Modified, abilito il pulsante Salva.

    Funziona alla perfezione, però, se per esempio ho 2 tabpage con delle richtextbox modificate e le elimino, in tal caso non ho nessuna richtextbox modificata, ho solo quella della nuova tabpage non ancora modificata, quindi il button salva non deve essere abilitato.
    Grazie ancora!
    RichiFra03

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh segui i consigli in

    http://www.visual-basic.it/Forum/tab...x#.UVijQaJTY2w

    ... altrimenti ti confondi (e anche noi ...)

    (che brutta abitudine il crossposting tra vari forum ...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.