Bonjour !
Je souhaiterai savoir si il est possible de lancer une procédure directement après avoir chargé un formulaire.
Par exemple, avec un événement "après chargement"...
Merci d'avance de votre aide !!!
Bonjour !
Je souhaiterai savoir si il est possible de lancer une procédure directement après avoir chargé un formulaire.
Par exemple, avec un événement "après chargement"...
Merci d'avance de votre aide !!!
Quand tu double clic sur ton formulaire tu a un form_load, ou tu peux faire les traitement de démarrage.
tu peux dans la plupart des cas, mettre les traitements à la fin de cette procedure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Ou alors tu les places dans le new() de ton formulaire mais après l'InitializeComponent()
C'est bien ça le problème, je veux que la procédure se lance quand le form1_load soit finit, et non pendant le chargement de celui-ci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'traitement '... '... '... End sub
D'où un événement "après chargement" ou "après ouverture" du formulaire ... un truc du genre...
EDIT : @shadam
Vous pensez à quelque chose dans ce genre?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Public Sub New() ' Cet appel est requis par le Concepteur Windows Form. InitializeComponent() ' Ajoutez une initialisation quelconque après l'appel InitializeComponent(). Procedure_après_chargement_formulaire() End Sub
essaye peut être sur l'événement shown
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub frmMain_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown 'Ici, le traitement effectué après le chargement du winForm End Sub
Effectivement la procédure shown se lance bien après le chargement du formulaire.
Cependant ma procédure ne fonctionne qu'à moitié...
Voici la procédure est lancé, elle imprime le formulaire en cours.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub F_re_impression_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown 'impression CaptureScreen() PrintDocument1.Print() 'fermeture du formulaire d'impression Me.Close() End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Declare Function BitBlt Lib "gdi32.dll" Alias "BitBlt" (ByVal _ hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As _ Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal _ hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, _ ByVal dwRop As System.Int32) As Long Dim memoryImage As Bitmap Private Sub CaptureScreen() Dim mygraphics As Graphics = Me.CreateGraphics() Dim s As Size = Me.Size memoryImage = New Bitmap(s.Width, s.Height, mygraphics) Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage) Dim dc1 As IntPtr = mygraphics.GetHdc Dim dc2 As IntPtr = memoryGraphics.GetHdc BitBlt(dc2, 0, 0, Me.ClientRectangle.Width, _ Me.ClientRectangle.Height, dc1, 0, 0, 13369376) mygraphics.ReleaseHdc(dc1) memoryGraphics.ReleaseHdc(dc2) End Sub
Malheureusement, le formulaire s'imprime mais les labels qui sont dans le formulaire sont remplacés par des casse blanches...
Je pense que cela vient de l' évenement shown qui doit avoir une signification particulière...
En tous cas merci pour votre aide !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager