Methode clear

Signaler
Messages postés
7
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
2 juillet 2008
-
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
-
Bonjour,

J'aimerais savoir comment on peut contourner la methode clear, car celle-ci efface les objets précédement dessiné
J'ai bien essayé avec deux bitmaps, le premier est l'image "résultat", la seconde sert uniquement pendant le dépassement de la souris, mais l'image clignote.

Merci d'avance pour votre aide

Salutations

Alain
A voir également:

2 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

La propriété Autoredraw ne semblant pas être présente dans VB.Net ( !!) , je crois que tu devras la remplacer... (je peux me troiper ...)

http://www.c-sharpcorner.com/UploadFile/rmeyer/AutoRedrawInVBdotNET11162005064540AM/AutoRedrawInVBdotNET.aspx
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
Salut,

J'ai retrouvé ce code que j'avais fait dans mes archives :
Cela reprend ce que tu as dans le lien donné par Jmf (que je salut au passage) mais sous forme de classe pour mettre plus simplement sur les contrôles standards :
Imports System
Imports System.Drawing
Imports System.Windows.Forms

Public Class AutoRedraw
  Implements IDisposable

  Private DisposedValue As Boolean = False
  Private _Graphic As Graphics
  Private _Image As Image
  Private _Control As Control
  Public Sub New(ByVal Control As Control)
    MyClass._Control = Control
    MyClass._Image = New Bitmap(MyClass._Control.ClientSize.Width, _
      MyClass._Control.ClientSize.Height)
    MyClass._Graphic = Graphics.FromImage(MyClass._Image)
    AddHandler _Control.Paint, AddressOf ControlPaint
  End Sub

  Public ReadOnly Property Graphic() As System.Drawing.Graphics
    Get
      Return MyClass._Graphic
    End Get
  End Property
  Public ReadOnly Property Image() As System.Drawing.Image
    Get
      Return MyClass._Image
    End Get
  End Property

  Private Sub ControlPaint(ByVal Sender As Object, ByVal e As PaintEventArgs)
    MyClass.Paint(e.Graphics)
  End Sub
  Private Sub Paint(ByVal Graphic As Graphics)
    Graphic.DrawImage(MyClass._Image, 0, 0)
  End Sub
  Public Sub ReDraw()
    MyClass.Paint(MyClass._Control.CreateGraphics())
  End Sub

  Protected Overridable Sub Dispose(ByVal disposing As Boolean)
    If Not MyClass.DisposedValue Then
      RemoveHandler _Control.Paint, AddressOf ControlPaint
      MyClass._Graphic.Dispose()
      MyClass._Image.Dispose()
    End If
    MyClass.DisposedValue = True
  End Sub
  Public Sub Dispose() Implements IDisposable.Dispose
    MyClass.Dispose(True)
    GC.SuppressFinalize(Me)
  End Sub
  Protected Overrides Sub Finalize()
    MyClass.Dispose()
    MyBase.Finalize()
  End Sub

End Class, ----
(Coloration syntaxique automatique par Kenji)

__________
  Kenji