Picturebox raifraichisement

Messages postés
96
Date d'inscription
mercredi 26 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
- - Dernière réponse : cs_fcolo
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
- 14 déc. 2006 à 17:36
salut j'utilise une picturebox pour laquel je change la propriété image 2 fois mais lorsque je la change pour la 3 fois celle ci ne se met pas à jour.j'ai essayer refresh ,invalidate rien à faire auriez vous une idéee.
merci
Afficher la suite 

7 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
0
Merci
Salut,

Pourrais-tu nous montrer comment tu procèdes ?

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Commenter la réponse de sebmafate
Messages postés
96
Date d'inscription
mercredi 26 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
0
Merci
private



void
pictureBox12_Click(

object
sender,

EventArgs
e){

picCapture.Image =


Image
.FromFile(

string
.Concat(

MyGlobals
.CheminDisign,

"btncaptureor.png"
)); 1er changement MPS4Session.CaptureTo(MPS4PROTOCOLLib.


MPS4PictureSize
.Image8bitMode,

"192.168.100.189"
, 1000);TimerCheckStatus.Start();

}


private



void
TimerCheckStatus_Tick(

object
sender,

EventArgs
e){

TimerCheckStatus.Stop();

picCapture.Image =


Image
.FromFile(

string
.Concat(

MyGlobals
.CheminDisign,

"btncaptureve.png"
));2eme Changement}

la procedure suivante est appeler à l'interieur de l' évenement public
void MPS4Session_OnIncomingMessage(object lpDisp) voir fin


private



void
CreateIm(){

stream =


new
System.IO.

MemoryStream
(imbyte,

true
);stream.Write(imbyte, 0, imbyte.Length);

bmp =


new



Bitmap
(stream);
picCapture.Image =

Image.FromFile(
string.Concat(
MyGlobals.CheminDisign,
"btncaptureor.png")); 3 changement celui ci ne passe pas
}

public
void MPS4Session_OnIncomingMessage(
object lpDisp){

Mess = (MPS4PROTOCOLLib.

IMPS4Message)lpDisp;
while (Mess.Image null) { MPS4Session.SendStatus(); }; imbyte (System.

Byte[])Mess.Image;CreateIm();

}
Commenter la réponse de AXELMEDICAL
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
0
Merci
Salut,

Le Timer à une période de combien de millisecondes ?
As-tu essayer en mettant Application.DoEvents() après l'affectation de l'image au PictureBox ?

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Commenter la réponse de sebmafate
Messages postés
96
Date d'inscription
mercredi 26 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
0
Merci
Application.DoEvents() ne change rien .mon timer est de 15 seconde mais peut importe car il ne fonctionne plus lor de la 3 affectation du picturebox!!! 
Commenter la réponse de AXELMEDICAL
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
7
0
Merci
Tu es sur que tu ne reste pas bloqué indéfiniment dans la boucle :

while
(Mess.Image ==
null) { MPS4Session.SendStatus(); }; ?
Commenter la réponse de Nikoui
Messages postés
96
Date d'inscription
mercredi 26 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
0
Merci
non sur et certain quand je debogue pas à pas de que j'arrive à la ligne
Image.FromFile(string.Concat(MyGlobals.CheminDisign, "btncaptureor.png"));3 changement celui ci ne passe pas
l'appli plante!!!
Commenter la réponse de AXELMEDICAL
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
1
0
Merci
Quelle est l'exeption que l'appli te retourne?
Que retourne te renvois string.Concat(MyGlobals.CheminDisign, "btncaptureor.png")
? (même si ca semble etre la meme chose que le premier changement)
Le fichier renvoyé exite-t-il vraiment?

Est ce que ca ne plante pas plutot au moment du bmp = new
Bitmap(stream);
car le stream ne contient pas une image?
Essais un stream.flush() avant pour forcer l'écriture.

f.colo
Commenter la réponse de cs_fcolo