begin process at 2010 02 10 06:12:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Graphique

 > 

Dessiner avec la souris


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

Dessiner avec la souris

lundi 14 mars 2005 à 09:54:31 | Dessiner avec la souris

manou2005

Salut tout le monde,
je voudrais recevoir un bout de code sur comment tracer des formes géométriques avec la souris, dans un panel de la fenetre qui s'affichera.
Merci.
lundi 14 mars 2005 à 10:32:40 | Re : Dessiner avec la souris

MorpionMx

Membre Club Administrateur CodeS-SourceS
Tiens, voici un exemple tres tres sommaire d'un panel qui te permet de tracer un rectangle dedans (et seulement du haut vers le bas).
Ca te permettra de comprendre comment dessiner dans un controle.



using System;
using System.Drawing;
using System.Windows.Forms;

namespace Test
{
public class MyPanel : Panel
{

private bool mouseDown;
private Point startPoint;
private Size size;
private Pen p = new Pen(Color.Black, 1.0f);

public MyPanel()
{
this.SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.DoubleBuffer, true);
this.MouseDown += new MouseEventHandler(MyPanel_MouseDown);
this.MouseUp += new MouseEventHandler(MyPanel_MouseUp);
this.MouseMove +=new MouseEventHandler(MyPanel_MouseMove);
}

private Bitmap backBuffer;
protected override void OnPaint(PaintEventArgs e)
{
if(backBuffer == null) backBuffer = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(backBuffer);
g.Clear(Color.White);
if(mouseDown)
g.DrawRectangle(p, new Rectangle(startPoint, size));

g.Dispose();
e.Graphics.DrawImageUnscaled(backBuffer, 0, 0);
}

private void MyPanel_MouseDown(object sender, MouseEventArgs e)
{
mouseDown = true;
startPoint = new Point(e.X, e.Y);
}

private void MyPanel_MouseUp(object sender, MouseEventArgs e)
{
mouseDown = false;
}

private void MyPanel_MouseMove(object sender, MouseEventArgs e)
{
if(mouseDown)
{
size = new Size(e.X - startPoint.X, e.Y - startPoint.Y);
this.Invalidate();
// Redessine la feneter
}
}
}
}

Bonne continuation

Mx
dimanche 4 juin 2006 à 21:26:05 | Re : Dessiner avec la souris

babou6a

Bonjour!
Je dois être un peu nulle mais ça me dessine rien du tout ....
Babou

dimanche 4 juin 2006 à 22:05:35 | Re : Dessiner avec la souris

MorpionMx

Membre Club Administrateur CodeS-SourceS
Salut,

Je viens de restester, pourtant ca marche.
Le panel a un fond blanc, et un cliqué / déplace de la souris dedans dessine le rectangle.

Qu'est ce qui se produit chez toi ?

Mx
MVP C#
 

dimanche 4 juin 2006 à 22:38:48 | Re : Dessiner avec la souris

babou6a

Ah ben nan je suis nulle en fait ^^ ... j'avais fé une bétise ...
Mais est ce que ton code permet de faire plusieurs rectangles ? Le buffer de bitmap devrait retenir les autres rectangles déja dessiné nan ?
Babou ... désolé

lundi 5 juin 2006 à 09:26:44 | Re : Dessiner avec la souris

MorpionMx

Membre Club Administrateur CodeS-SourceS
En fait non, parce que l'instruction g.Clear(Color.White); repeint tout en blanc.
Ce n'etait vraiment qu'un exemple pour montrer comment dessiner, mais il va falloir modifier pas mal de choses si tu souhaites conserver les rectangles dessinés. (faire une List<Rectangle> pas exemple, conserver tout ceux que tu as dessiné dedans, et les redessiner dans le OnPaint).

Le mieux serait que tu recrées un sujet dans le forum en nous expliquant exactement ce que tu souhaites faire, pour qu'on te donne des réponses appropriées :)

Mx
MVP C#
 

lundi 5 juin 2006 à 10:04:17 | Re : Dessiner avec la souris

babou6a

Ok c'est ce que je vais faire! Merci beaucoup!
Babou



Cette discussion est classée dans : souris, dessiner


Répondre à ce message

Sujets en rapport avec ce message

dessiner avec la souris [ par neopascal ] SalutJe voudrais savoir comment faire pour dessiner en C# avec la souris.merci Boutons de souris [ par Cameleon69 ] BonjourJe cherche comment savoir le bouton sur lequel je clique avec la souris. Je n'ai rien trouvé à ce sujet, merci de votre aide. Savoir si la souris bouge... [ par bigflo ] Salut,Comment faire pour savoir si la souris bouge mais si celle-ci n'est pas au dessus d'un form ?Car avec mon form, je peux savoir si la souris boug les evenements de la souris [ par camy ] bonjours,je voudrais savoir comment on fait pour avoir la liste du contenu d'un lien qui s'affiche juste en dessous en passant la souris sur ce dernie dessiner un rectangle sur les controles [ par LeGnuff ] Bonjour !j'ai un objget Graphics associé à une formj'aurais aimé savoir s'il y avait un moyen d'utiliser la méthodeGraphics.DrawRectangle(...) en fais dessiner un graphique [ par louve_alpha ] Bonjour,J'affiche des données dans un datagrid, et j'aimerais générer automatiquement un diagramme en fonction de ces données.comment est-ce que je pe simulation clic souris [ par freestyler02 ] Quelqu'un serait comment simuler un clic de souris? J'arrive à déplacer le cursseur mais je ne trouve pas d'informations sur une commande managé pour Problème pour dessiner dans une picturebox [ par MadM@tt ] Salut tout le monde,j'ai trouvé pas mal de messages pour dessiner dans des picturebox mais chez moi ça ne marche pas :il ne connais pas le type Pen et Dessiner +rapidement [ par Fildomen ] salutje bosse sur un prog où il me faut faire un dessin rapidement et le plus optimisé, et je veux que quand le prog dessine, je ne vois rien que le r obtenir la position (coordonnées) de la flèche de souris [ par godefrw ] Bonjour je voudrais savoir comment obtenir es coordonnées de la flèche de souris dans la fenêtre de mon application.merci d'avance.Ced


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,515 sec (4)

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