Generer des points aleatoirement !?

Résolu
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 15 janv. 2005 à 15:43
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 16 janv. 2005 à 18:12
Bonjour a tous ,

Je suis sous visual studio . net et j'apprends le c sharp !

Je me suis fait une class que j'ai nomme MyPoint.cs que voici :
-----------------------------------------------------------------
using System;
using System.Drawing;


namespace WiNAppliLabo3
{


public class MyPoint
{
private int x=0, y=0;
private Color col = new Color();



public MyPoint()
{

}

//Methode GetX retourne la valeur X du point
public int GetX()
{
return x;
}

//Methode GetY retourne la valeur Y du point
public int GetY()
{
return y;
}

//Methode GetColor retourne la couleur du point
public Color GetColor()
{
return col;
}

//Methode SetPoint définit la position du point
public void SetPoint(int X, int Y)
{
x = X;
y = Y;
}

//Methode SetColor définit la couleur du point
public void SetColor(int R, int G, int B)
{
col= Color.FromArgb(R, G, B);
}


//Methode Méthode 2 de définition de la couleur
public void SetColor(Color color)
{
col=color;
}

//Methode Draw permettant de dessiner le point dans une fenêtre
public void Draw(Graphics dc)
{
Bitmap Bmp= new Bitmap(1,1);
Bmp.SetPixel (0, 0, col);
dc.DrawImage (Bmp, x, y);
}


}
}

cette classe a plusieurs methodes afin de permettre la creation de points

dans ma fenetre windows je veux qu'au lancement, elle me genere des points aleatoirement voila ce que j'ai fait mais a l'affichage je n'ai rien du tout meme pas d'erreur rien !
si quelqu'un avait une idée de se qui se passe je lui en serait reconnaissant ....

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;


namespace WiNAppliLabo3
{


/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
/** declaration de 100.000 points **/
MyPoint[] LesPoints = new MyPoint[100000];
[STAThread]
static void Main()
{
Application.Run(new Form1());

}


private void Draw(object sender, System.Windows.Forms.PaintEventArgs e)
{
foreach (MyPoint pt in LesPoints)
{
pt.Draw (e.Graphics);


}
}
/** chargement doit dessiner 100.000 points sur la form **/


private void Form1_Load(object sender, System.EventArgs e)
{
int x,y, r, g, b,i=0;
Random rnd = new Random();
for (i=0; i<LesPoints.Length; i++)
{
x=rnd.Next(ClientSize.Width);
y=rnd.Next(ClientSize.Height);
r=rnd.Next(255);
g=rnd.Next(255);
b=rnd.Next(255);
LesPoints[i] = new MyPoint();
LesPoints[i].SetPoint(x, y);
LesPoints[i].SetColor(r,g ,b );
}


}
}
}

Je vous remercie ...
Bon week end

Christophe

6 réponses

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
15 janv. 2005 à 16:54
ta méthode "Draw" est bien associé à l'event Paint de Form1 ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
16 janv. 2005 à 17:27
ba tu dessines ton point.

(très) basiquement :

MyPoint point = new MyPoint();
point.SetPoint(e.X, e.Y);
point.SetColor(Color.Black);
point.Draw(this.CreateGraphics());

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
16 janv. 2005 à 15:09
Salut salut,

C'etait exactement ca ....;-( ! Bien joué ....
Si je peux me permettre une derniere question .....maintenant j'aimerais et ce toujours avec la meme classe ....genere lors d'un clic de souris un point avec les coordonnees x et y sur la form!
comment je dois faire ...

J'arrive bien a affiche les coordonnees e.X et e.Y !
si tu savais m'aider .....je t'en serais reconnaissant ...
Bonne semaine

Christophe
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
16 janv. 2005 à 17:06
ben tu as juste a te servir de ta méthode SetPoint pour les coordonnées et Draw pour dessiner le point en question non ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
0

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

Posez votre question
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
16 janv. 2005 à 17:12
re,

tu vis sur codes sources ;-)
Beh moi aussi tu vois je suis pas porgrammeur mais j'aime bien apprendre ....

bon si j'ai bien compris
je fais un event mousedown....?

JE SUIS DANS LE BON ? et puis ensuite je fais comment ?

merci

private
void OnMouseDown(
object sender, System.Windows.Forms.MouseEventArgs e)


{


}
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
16 janv. 2005 à 18:12
salut salut coq,

C'est exactement ce qu'il me fallait ...

Je te remercie pour ce bout de code qui tourne ...

Bonne semaine ....

Christophe
0