IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

manipuler deux formes dans le meme projet


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut manipuler deux formes dans le meme projet
    bonjour !
    j'ai ajoute une deuxieme forme a mon projet windows form(projet->ajouter windows form...) cette form la contient un pictureBox et j'aimerais mettre dans ce pictureBox l'image du pictureBox de la premiere form ?
    j'ai pense a faire dans form1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    form2 f2;
     
     public Form1()
            {            
                InitializeComponent();
                f2 = new Form2(pictureBox1.Image);
            }
    et dans form2 j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    namespace Paint
    {
        public partial class Form2 : Form
        {
            Bitmap ima;
     
            public Form2()
            {
                InitializeComponent();
            }
     
            public Form2(Bitmap bp)
            {
                ima = new Bitmap(bp);
                pictureBox1.Image = ima;
            }
        }
    }
    donc voila ce que j'ai fait mais ca n'a pas marche

    dans la deuxieme form, il a joute un espace de nom using System.Linq; et lors de la compilation il m'affiche erreur Error "The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)" pourquoi ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Pour ton erreur :
    il faut ajouter la référence "System.Core.dll". Il faut que tu es le bon framework après .

    Sinon met
    Et je pense que tu vas devoir ajouter dans ton nouveau constructeur de ta Form2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            public Form2(Bitmap bp)
            {
                InitializeComponent();
    
                ima = new Bitmap(bp);
                pictureBox1.Image = ima;
            }

  3. #3
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    salut !!!
    oui c'est bon mercii !! j'ai une autre erreur j'ai fait le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    #region Using directives
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    #endregion
     
    namespace WindowsFormsApplication1
    {
        public partial class Form2 : Form
        {
     
     
            Bitmap bmp;
     
            public Form2(Bitmap bp)
            {
                InitializeComponent();
                bmp = new Bitmap(bp);
                pictureBox1.Image = bp;
     
            }
     
            System.Drawing.Size taille;
     
            private void trackBar1_MouseUp(object sender, MouseEventArgs e)
            {
                bmp.Width = taille.Width + (taille.Width / 3) * trackBar1.Value;
                bmp.Height = taille.Height + (taille.Height / 3) * trackBar1.Value;
            }
     
            private void Form2_Load(object sender, EventArgs e)
            {
                taille = bmp.Size;
            }
     
     
        }
    }
    il m'affiche cette erreur :
    " Property or indexer 'System.Drawing.Image.Height' cannot be assigned to -- it is read only " pourquoi ?

  4. #4
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Tu ne peux pas changer la taille d'une image, une fois défini elle ne peut plus être changée.

    Si tu veux résoudre ce problème il faut recréer un objet de type Bitmap en lui spécifiant la nouvelle taille en argument lors de l'appel du constructeur.

  5. #5
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Citation Envoyé par ralf91 Voir le message
    salut !!!
    il m'affiche cette erreur :
    " Property or indexer 'System.Drawing.Image.Height' cannot be assigned to -- it is read only " pourquoi ?
    C'est parce que tu essaies de donner une valeur aux propriétés width et height qui sont en fait en lecture seule!
    essaie plutot de jouer avec le picturebox meme ou les StretchImage (j'ai cru comprendre que tu veux réduire l'image )

  6. #6
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    salut !!
    j ai eu une idée en utilisant le pictureBox, en fait je veux dessiner des points sur la forme dans des endroits bien précis ! alors j'ai fait un zoom, mais pour avoir le zoom, je mets l'image dans pictureBox et j'ai mis size mode a StretchImage, en suite je modifie la taille de pictureBox jusqu a maintenant le zoom marche très bien !!!
    maintenant j'ai mis une fonction qui dessine un point je lui donne en paramètre un Point, c'est la ou l'utilisateur clique dans pictureBox, donc je récupère la position du clic et je le donne a la fonction de dessin !!

    le problème : lorsque je zoome, en suite je clique il dessine le point mais pas a l'endroit voulu ?? je pense que c'est normal mais comment regler ca ??

Discussions similaires

  1. deux mains dans le meme projet
    Par persé dans le forum Visual C++
    Réponses: 4
    Dernier message: 06/02/2014, 14h57
  2. Réponses: 0
    Dernier message: 11/11/2013, 15h21
  3. Réponses: 3
    Dernier message: 09/06/2012, 22h47
  4. Probleme insertion de deux fiches avec BDE dans un meme projet
    Par jojojojo57 dans le forum Bases de données
    Réponses: 4
    Dernier message: 22/03/2007, 08h55
  5. Definir deux site dans un meme serveur
    Par soufienne dans le forum IIS
    Réponses: 4
    Dernier message: 02/09/2004, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo