Bonjour,

voilà j'ai une application qui ouvre une image, et qui peut lui appliquer certains filtres de traitement d'image. j'affiche l'image de base dans une pictureBox et l'image modifiée dans une autre pictureBox.

Seulement si j'ouvre une boite de dialogue une fois que l'image est affichée, à sa fermeture j'obtiens :
Une exception non gérée du type 'System.ArgumentException' s'est produite dans system.windows.forms.dll
Infos supplémentaires : Paramètre non valide utilisé
J'ai catché cette exception dans le point d'entrée de mon appli :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
static void Main() 
		{
			try
			{
				Application.Run(new MainForm());
			}
			catch(System.ArgumentException e)
			{
				Console.Write(e.StackTrace);
			}
 
		}
et voici le résultat de la pile :
at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)
at System.Drawing.Graphics.DrawImage(Image image, Rectangle rect)
at System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopLe programme '[2368] Resolver.exe' s'est arrêté avec le code 0 (0x0).
Data)
at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Resolver.MainForm.Main() in c:\diplôme\sources\resolver\mainform.cs:line 497
Je dois donc écrire qqch dans la méthode OnPaint des PictureBox pour éviter que cette exception soit lévée ? Quoi?

Merci d'avance de vos réponses