Pb de persistance sur VB.net

nelalami Messages postés 19 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 27 septembre 2008 - 9 août 2006 à 10:20
 Utilisateur anonyme - 9 août 2006 à 12:21
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

Utilisateur anonyme
9 août 2006 à 10:49
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
0
nelalami Messages postés 19 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 27 septembre 2008
9 août 2006 à 11:52
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
0
Utilisateur anonyme
9 août 2006 à 11:57
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
0
nelalami Messages postés 19 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 27 septembre 2008
9 août 2006 à 12:10
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
9 août 2006 à 12:21
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
0
Rejoignez-nous