Problème de persistance

nelalami Messages postés 19 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 27 septembre 2008 - 3 août 2006 à 16:22
pymaster Messages postés 74 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 14 août 2006 - 3 août 2006 à 16:37
Nourddine
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??> 

Objet : problème de persistance

 

La propriété AutuRedraw n’est pas bien remplacée par l’événement Paint

 

Visual Basic 6.0

, Équivalent Visual Basic .NET

, ----
Propriété AutoRedraw, Pas d'équivalent. Pour assurer la persistance des graphismes, placez les méthodes graphiques dans l'événement Paint.
 

Le problème :

Après l’ouverture  et en cliquant sur le bouton -clique ici - (j’ai écrit ou bien j’imprime le mot  "toto" sur la formulaire.

 apres  j

’ouvre le menu et  je ferme le menu  (et voila le bug ; le texte qui était sous le menu a disparu !!)

 
<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:line id="_x0000_s1026" style="Z-INDEX: 1; POSITION: absolute; flip: x" to="306pt,37.8pt" from="297pt,10.8pt"><v:stroke endarrow="block"></v:stroke></v:line>Même phénomène lorsque je réduit le formulaire  

Lorsque j’active le formulaire (seul le dernier texte imprimer qui persiste)

 

 

Voila le code   

‘**************************  début  du Code ******************************

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

 

        Dim ve As System.Windows.Forms.PaintEventArgs

        Call Form1_Paint(sender, ve)

 

    EndSub

EndClass

 

‘***************************   Fin du code    ********************************

Merci de votre aides

1 réponse

pymaster Messages postés 74 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 14 août 2006
3 août 2006 à 16:37
Bonjour

J'ai déjà eu moi aussi des problèmes avec la fonction paint. Si tu trouve quelque chose je serais interessé

aussi plutôt que de faire

Dim ve As System.Windows.Forms.PaintEventArgs

Call Form1_Paint(sender, ve)

tu peux faire

Form1.invalidate

Bonne chance,
PY
0
Rejoignez-nous