Picturebox raifraichisement

AXELMEDICAL Messages postés 96 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 27 mai 2010 - 13 déc. 2006 à 11:20
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

7 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
13 déc. 2006 à 11:26
Salut,

Pourrais-tu nous montrer comment tu procèdes ?

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
AXELMEDICAL Messages postés 96 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 27 mai 2010
13 déc. 2006 à 11:50
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();

}
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
13 déc. 2006 à 13:52
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#]
0
AXELMEDICAL Messages postés 96 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 27 mai 2010
13 déc. 2006 à 15:09
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!!! 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 10
13 déc. 2006 à 15:55
Tu es sur que tu ne reste pas bloqué indéfiniment dans la boucle :

while
(Mess.Image ==
null) { MPS4Session.SendStatus(); }; ?
0
AXELMEDICAL Messages postés 96 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 27 mai 2010
13 déc. 2006 à 18:00
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!!!
0
cs_fcolo Messages postés 201 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 20 février 2007 2
14 déc. 2006 à 17:36
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
0