begin process at 2012 02 14 13:35:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Graphique

 > 

[.NET] Dessin si plusieurs forms


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[.NET] Dessin si plusieurs forms

mardi 29 novembre 2005 à 15:57:46 | [.NET] Dessin si plusieurs forms

seblutfr

Bonjour,

J'ai cette fois un problème avec les nouvelles méthodes de dessin (je viens du monde VB6).

Je souhaite dessiner des lignes sur un PictureBox.
J'ai donc mis :
Dim g as Graphics
g = PictureBox1.CreateGraphics
Là, pas de souci, g.DrawLine (Pens.Aqua 10, 10, 20, 20) me fait exactement ce que je veux.

Le problème, c'est que je dois aussi dessiner sur une PictureBox qui n'est pas sur le form "qui dessine".
J'ai donc modifié :
Public g as Graphics
g = frmMain.PictureBox1.CreateGraphics
(ces deux lignes sont dans un module)

Et là, plus rien ne s'affiche sur ma form frmMain, dans le PictureBox.

Je ne comprends pas où peut être l'erreur.
Si quelqu'un peut m'aider.

Merci,

Séb
mardi 29 novembre 2005 à 17:06:06 | Re : [.NET] Dessin si plusieurs forms

olixelle

1. frmMain ne serait pas le nom de ta classe par hasard ?
2. Crees tu ton second formulaire dans le premier ou crees tu les 2 formulaires dans un module ?

Rollerman
mardi 29 novembre 2005 à 17:07:48 | Re : [.NET] Dessin si plusieurs forms

olixelle

je crois que j'avais mal lu ton post, ne serait ce pas un pb de refresh ?

Rollerman
mardi 29 novembre 2005 à 17:55:17 | Re : [.NET] Dessin si plusieurs forms

seblutfr

Non non, en fait, il s'agit d'une appli Mdi : la form où s'affiche le dessin et la feuille parent, et celle d'où part la commande de dessin est une fille. Les deux sont instanciées, pas de souci là dessus. Si je place une PictureBox sur la feuille fille, aucun souci. Je ne pense pas qu'il s'agisse de refresh, les deux feuilles étant à l'écran en même temps. Si ? Y a-t-il quelque chose à faire pour que le dessin se "mette à jour" sur la feuille parent ?
J'avoue ne pas trop savoir que tenter, là.

Séb
mercredi 30 novembre 2005 à 10:13:04 | Re : [.NET] Dessin si plusieurs forms

olixelle

ben tu peux tenter un monformulaire.refresh, ca oblige le form a se redessiner ainsi que topus ces composants

Rollerman
mercredi 30 novembre 2005 à 11:35:02 | Re : [.NET] Dessin si plusieurs forms

seblutfr

Bonjour,

Merci pour le temps accordé., mais ça ne marche pas mieux.
Au contraire, d'après ce que j'ai lu dans différentes doc, la propriété AutoRedraw qui existait en VB6 n'apparait plus en .net, et du coup, lorsqu'un formulaire est redessiné, on perd ce qsui a été dessiné "manuellement".
Il est donc possilbe, à mon avis, que la form principale se refraichisse, et que du coup, je ne vois pas mon dessin avant qu'il ne disparaisse.
Il ya bien une péthode pour simuler l'Autoredraw à partir d'un bitmap, mais j'ai pas tout compris :-\

Séb
mercredi 30 novembre 2005 à 12:05:33 | Re : [.NET] Dessin si plusieurs forms

olixelle

ce que tu peux faire sinon, c'est surcharger la méthode "onpaint" de l'objet form, tu mets ton code dans cette fonction comme ca il sera executer automatiquemetn des que le formulaire se dessine

Rollerman
mercredi 30 novembre 2005 à 12:34:23 | Re : [.NET] Dessin si plusieurs forms

seblutfr

Là, je vois pas trop comment procéder.

Je m'explique : ma feuille mère comprend une zone où s'affiche le dessin.
La feuille fille comprend une interface pour dessiner des lignes (zones de saisie des coordonnées X, Y)
Un bouton sur la feuille fille permet alors d'ajouter la ligne dans un tableau en mémoire, et de redessiner l'ensemble du contenu tableau dans la zone sur la feuille mère. D'autres feuilles filles sont suceptibles de dessiner sur cette PictureBox.

Et là, mes maigres connaissances en .net ne me permettent pas de continuer.

Pourquoi avoir supprimé la propriété AutoRedraw ? :-\
mercredi 30 novembre 2005 à 21:51:35 | Re : [.NET] Dessin si plusieurs forms

seblutfr

Réponse acceptée !
J'ai posé la question sur les groupes de discussion, j'ai eu quelques éléments de réponse, que je retransmets ici.
En fait, une solution consiste bien à dessiner un bitmap et à afficher ce bitmap sur le PictureBox. Ca ne me dit pas pourquoi la solution simple ne fonctionne pas, mais ça m'aura dépanné quand j'aurai réglé les histoires de rafraichissement.

Public mGraphicsBMP As Bitmap
Protected mGraphicsMem As Graphics
mGraphicsBMP = New Bitmap(mPicDest.ClientRectangle.Width,
mPicDest.ClientRectangle.Height)
mGraphicsMem = Graphics.FromImage(mGraphicsBMP)
lBrush = New SolidBrush(pColor)
mGraphicsMem.FillRectangle(lBrush, pRect)

et dans l'événement Paint du PictureBox
e.Graphics.DrawImage(mGraphicsBMP, 0, 0)

Séb


Cette discussion est classée dans : problème, net, forms, picturebox, dessin


Répondre à ce message

Sujets en rapport avec ce message

Problème de dessin dans une Picture Box [ par sab35 ] J'ai placé une PictureBox dans une form et je dessine dans celle-ci. Dans ma méthode de dessin je lui passe bien les paramètre des points essentiels ( Petite question... [ par Yaume1 ] bonjour à tous, voila, j'ai un petit problème, j'ai cherché sur le forum mais je n'ai pas trouvé les réponses que je voulais. Voici mon pb : J'ai une Windows Forms .net [ par mayna21 ] Bonjour j'ai un petit problème sous vb.net 2005 je cherche le code d une apllication qui a une seule barre de menu ou d'outils est partagée par toute VB.NET et dessin de courbes et graphes [ par tizguine ] tizguine Bonjour tout le monde,      je veux développer une application en VB.NET qui récupéré des donnée d'une base de vb.net 2008 Insérer une image picturebox dans un fichier word [ par sigrid1983 ] Bonjour à tous, je suis débutante en VB.net et voilà mon problème: J'ai déjà créé un graphique dans une picturebox (grâce aux indications de Mayzz, problème de migration de vb6 vers vb.net framework 2.0 [ par geni_info2010 ] Bonjour, j'ai une solution en vb6 (de taille moyennement grand) j'ai voulu faire une migration vers .net framework 2.0 (j'envisage une migration ver Transparence entre 2 Picturebox [ par coyotejanin ] [b]Bonjour a tous.[/b] [^^happy8] Un petit problème se pose a moi étant donné que je ne trouve pas de Solution... [^^sad1] J'ai comme idée de super Compiler un programme vb.net [ par fracasss ] Bonjour à tous, Je suis totalement novice en programmation, et j'ai un gros problème : Au départ j'avais choisi vb.net car il etait gratuit, et j'ai Probleme VB.net [ par sultan27 ] bonjour, j'ai un problème en vb.net. quand je veux passer du code vers la form (mode design), l'application se ferme automatiquement, et ceci valable


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales