Pb de persistance sur VB.net

Signaler
Messages postés
19
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
27 septembre 2008
-
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
-
Salut tlm
j'ai un big problème avec la persistance sur VB.net

j'ai ecrit des textes "toto" , sur le formulaire en cliquant sur le bouton (tous marche bien ) 
et dés que je réduis la fenêtre, ou bien j'ouvres et je fermes le menu : mon texte disparaitre de la fenêtre !

la méthode  Invalidate (proposé par la hotline du microsoft france)  ne marche pas
la hotline de microsoft france n'a pas de réponse pour ce probléme, c'st pour cela je passe par ce forum

voir le code

'***************************début du code*******************<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??> 

 

PublicClass Form1

    Inherits System.Windows.Forms.Form

    Dim i AsInteger

 

#Region " Code généré par le Concepteur Windows Form "

 

    PublicSubNew()

        MyBase.New()

 

        'Cet appel est requis par le Concepteur Windows Form.

        InitializeComponent()

 

        'Ajoutez une initialisation quelconque après l'appel InitializeComponent()

 

    EndSub

 

    'La méthode substituée Dispose du formulaire pour nettoyer la liste des composants.

    ProtectedOverloadsOverridesSub Dispose(ByVal disposing AsBoolean)

        If disposing Then

            IfNot (components IsNothing) Then

                components.Dispose()

            EndIf

        EndIf

        MyBase.Dispose(disposing)

    EndSub

 

    'Requis par le Concepteur Windows Form

    Private components As System.ComponentModel.IContainer

 

    'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form

    'Elle peut être modifiée en utilisant le Concepteur Windows Form. 

    'Ne la modifiez pas en utilisant l'éditeur de code.

    FriendWithEvents Button1 As System.Windows.Forms.Button

    FriendWithEvents MainMenu1 As System.Windows.Forms.MainMenu

    FriendWithEvents MenuItem1 As System.Windows.Forms.MenuItem

    FriendWithEvents MenuItem2 As System.Windows.Forms.MenuItem

    FriendWithEvents MenuItem3 As System.Windows.Forms.MenuItem

    FriendWithEvents MenuItem4 As System.Windows.Forms.MenuItem

    FriendWithEvents MenuItem5 As System.Windows.Forms.MenuItem

    FriendWithEvents MenuItem6 As System.Windows.Forms.MenuItem

    FriendWithEvents MenuItem7 As System.Windows.Forms.MenuItem

    <System.Diagnostics.DebuggerStepThrough()> PrivateSub InitializeComponent()

        Me.Button1 = New System.Windows.Forms.Button

        Me.MainMenu1 = New System.Windows.Forms.MainMenu

        Me.MenuItem1 = New System.Windows.Forms.MenuItem

        Me.MenuItem2 = New System.Windows.Forms.MenuItem

        Me.MenuItem3 = New System.Windows.Forms.MenuItem

        Me.MenuItem4 = New System.Windows.Forms.MenuItem

        Me.MenuItem5 = New System.Windows.Forms.MenuItem

        Me.MenuItem6 = New System.Windows.Forms.MenuItem

        Me.MenuItem7 = New System.Windows.Forms.MenuItem

        Me.SuspendLayout()

        '

        'Button1

        '

        Me.Button1.Location = New System.Drawing.Point(368, 232)

        Me.Button1.Name = "Button1"

        Me.Button1.RightToLeft = System.Windows.Forms.RightToLeft.Yes

        Me.Button1.Size = New System.Drawing.Size(80, 24)

        Me.Button1.TabIndex = 0

        Me.Button1.Text = "Cliquez ici"

        '

        'MainMenu1

        '

        Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1})

        '

        'MenuItem1

        '

        Me.MenuItem1.Index = 0

        Me.MenuItem1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem2, Me.MenuItem3, Me.MenuItem4, Me.MenuItem5, Me.MenuItem6, Me.MenuItem7})

        Me.MenuItem1.Text = "Menu"

        '

        'MenuItem2

        '

        Me.MenuItem2.Index = 0

        Me.MenuItem2.Text = "---------------Menu 1---------------------"

        '

        'MenuItem3

        '

        Me.MenuItem3.Index = 1

        Me.MenuItem3.Text = "---------------Menu 2---------------------"

        '

        'MenuItem4

        '

        Me.MenuItem4.Index = 2

        Me.MenuItem4.Text = "---------------Menu 3---------------------"

        '

        'MenuItem5

        '

        Me.MenuItem5.Index = 3

        Me.MenuItem5.Text = "---------------Menu 4---------------------"

        '

        'MenuItem6

        '

        Me.MenuItem6.Index = 4

        Me.MenuItem6.Text = "---------------Menu 5---------------------"

        '

        'MenuItem7

        '

        Me.MenuItem7.Index = 5

        Me.MenuItem7.Text = "---------------Menu 6---------------------"

        '

        'Form1

        '

        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)

        Me.ClientSize = New System.Drawing.Size(456, 266)

        Me.Controls.Add(Me.Button1)

        Me.Menu = Me.MainMenu1

        Me.Name = "Form1"

        Me.Text = "Form1"

        Me.ResumeLayout(False)

 

    EndSub

 

#EndRegion

 

    PrivateSub Form1_Paint(ByVal sender AsObject, ByVal e As System.Windows.Forms.PaintEventArgs) HandlesMyBase.Paint

      

  Me.CreateGraphics.DrawString("toto", New Font("Arial", 10, FontStyle.Bold), Brushes.Black, i, i)

       

    EndSub

    PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        i = i + 20

    Me.CreateGraphics.DrawString("toto", New Font("Arial", 10, FontStyle.Bold), Brushes.Black,i,i)

 

      'Me.Invalidate()  ' ne marche pas

    EndSub

EndClass

 

'***************************fin du code***********************

merci bcp
Nourddine

5 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Salut,

Quand tu cache la form, sa efface les graphiques qui t'as tracer.
Il faut donc redessiner tout tes toto dans le Form_Paint et non pas que le dernier




Kenji




Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
Messages postés
19
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
27 septembre 2008

merci  Charles Racaud
je sais, mais je besoin a chaque evenement clique,  ajouter tu texte ! sans effacer l'encien
et quand je cache le form, les nouveux et les enciens texte persistes

Nourddine
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Ils faut tous les redessiner
Ca donne dnns l'event Paint:



Private

Sub
Form1_Paint(
ByVal
sender
As

Object
,
ByVal
e
As
System.Windows.Forms.PaintEventArgs)
Handles

MyBase
.Paint

  
For
iTest
As

Integer
= 0
To
i
Step
20

    
Me
.CreateGraphics.DrawString(
"toto"
,
New
Font(
"Arial"
, 10, FontStyle.Bold), Brushes.Black, iTest, iTest)

  
Next
iTest

End

Sub



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
Messages postés
19
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
27 septembre 2008

je sais , ca aussi !
et l'evenement clique sur le bouton alors !!
je veux pas  ecrire seulement "toto"
mon texte à ajouter depend du bonton qui va subir l'évenement
exemple
 je clique sur le bouton   BtnToto    j'ecris   "Toto"
 je clique sur le bouton   BtnTata     j'ecris   "Tata"
.....
....
Nourddine
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Alors pourquoi tu met pas de labels ? Que tu crée dynamiquement bien entendu.



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n