Bonjour,
Programme (Window Forms) avec VS2019.
J'ai un probleme avec ce MsgBox ci-dessous (et aussi avec un ColorDialog control).
Lorsque je click sur le bouton, plus rien ne marche sur la Form ("frozen").
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MessageBox.Show("!") End Sub
Par contre si je click le bouton TAB une fois et le bouton RETURN une fois, je retrouve le controle de ma Form.
Maintenant le plus drole, je met un point d'arret sur la ligne du MsgBox, puis je fais F10 pour voir ce qui se passe et curieusement, le MsgBox apparait.
Autrement dit, ca semble marcher en mode deboggage, mais pas en mode normal.
Pour moi, cela me parait vraiment bizarre, mais il y a autre chose qui se passe, car sur la Form il y a une image!
A la fin du End Sub du Bouton1, cela continue en boucle sur la Sub suivante:
Et aussi dans la Class,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub pbCheckImage01_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles pbCheckImage01.Paint Try ' Draw the cloudy background on the main PictureBox (pbCheckImage05) e.Graphics.FillRectangle(New SolidBrush(Color.FromArgb(100, 255, 255, 255)), Me.ClientRectangle) Catch ex As Exception MsgBox(ex.Message) End Try End Sub
Donc le probleme doit venir de cette boucle sans fin. Que dois je faire pour resoudre ce probleme?
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 Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) Try Dim r As Rectangle = Me.ClientRectangle r.Location = Me.Location ' Get the glass background from the resizedImage Using bmp As New Bitmap(r.Width, r.Height), g As Graphics = Graphics.FromImage(bmp) g.DrawImage(frmECalendar.resizedImage, Me.ClientRectangle, r, GraphicsUnit.Pixel) Me.BackgroundImage = CType(bmp.Clone, Drawing.Image) End Using ' Draw the border e.Graphics.DrawRectangle(New Pen(Me.ForeColor, 4), Me.ClientRectangle) e.Graphics.FillRectangle(Brushes.Red, Me.ClientRectangle.Size.Width - 10, Me.ClientRectangle.Size.Height - 10, 10, 10) MyBase.OnPaint(e) Catch ex As Exception MsgBox(ex.Message) End Try End Sub
Peut-on arreter ce comportement le temp de passer par monMsgBox?
En fait, le but est d'utiliser un ColorDialog, j'ai remplace par un MsgBox pour simplifier et surtout essayer de comprendre ce qui se passe.
Je voudrais mettre un label sur mon image (Color et Font controles via Dialog) et une fois content de son emplacement, l'inserer sur l'image.
J'arrive a l'inserer sur l'image directement, mais je voudrais une sorte de pre-visualisation du texte a inserer (a l'aide d'un label mobile).
Voila en gros l'idee si toutefois j'etais assez clair.
Merci,
JLuc01
Partager