Mon panel ne veut pas se crée c# .net

Résolu/Fermé
5dt1 Messages postés 10 Date d'inscription lundi 6 juillet 2020 Statut Membre Dernière intervention 23 septembre 2020 - 22 sept. 2020 à 21:01
5dt1 Messages postés 10 Date d'inscription lundi 6 juillet 2020 Statut Membre Dernière intervention 23 septembre 2020 - 23 sept. 2020 à 21:22
Bonjour,
J'ai un problème avec la création de mes panel la 1ere fois il se crée bien mais aprés la fonction ne marche plus pourriez vous m'aider ? Voici le code :
Form2 form2 = new Form2();
form2.Owner = this;
DialogResult result = form2.ShowDialog();
if (result == DialogResult.OK)
{
int Number = number;
Panel newpanel = new Panel();
int panel = Number + 3;
//string panelnew = Convert.ToString(panel);
//newpanel.Name = "panel" + panelnew;
newpanel.Size = new Size(770, 31);
int point = Number * 31;
int point2 = point + 77;
newpanel.Location = new Point(0, point2);
Label newlabel = new Label();
int number = Number + 1;
newlabel.Text = form2.label12.Text;
string numberw = Convert.ToString(number);
newlabel.Text = numberw;
newlabel.Location = new Point(9, 9);
newlabel.Size = new Size(67, 13);
Label newlabel1 = new Label();
newlabel1.Text = form2.label13.Text;
newlabel1.Location = new Point(97, 9);
newpanel.Controls.Add(newlabel);
newpanel.Controls.Add(newlabel1);
Controls.Add(newpanel);

Merci d'avance
Cordialement 5dt1
A voir également:

6 réponses

Utilisateur anonyme
22 sept. 2020 à 21:17
Bonjour

merci d'avoir essayé d'utiliser les balises de code. Mais ce serait mieux de les utiliser correctement voir ici pour tes prochains posts https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


mais aprés la fonction ne marche plus pourriez vous m'aider ?

Peux tu préciser?
  • Form2 s'affiche t elle?
  • Si oui, as tu mis un point d'arrêt puis exécuté pas à pas pour vois si toutes les instructions sont exécutées?
  • Si oui, est il possible que tes panels soient les un sur les autres et que tu ne les voies pas ou alors que les suivants soient placés en dehors de ton formulaire?


0
5dt1 Messages postés 10 Date d'inscription lundi 6 juillet 2020 Statut Membre Dernière intervention 23 septembre 2020 1
22 sept. 2020 à 22:37
Merci pour votre réponse rapide et vos conseilles ,
-Oui form2 s'affiche parfaitement bien .
-Non je vais aller tester pour vérifier.
Merci,
5dt1
0
5dt1 Messages postés 10 Date d'inscription lundi 6 juillet 2020 Statut Membre Dernière intervention 23 septembre 2020 1
22 sept. 2020 à 23:33
Le problème vient du faite que number ne sauvegarde pas sa valeur
0
Utilisateur anonyme
23 sept. 2020 à 07:13
Peut-être, mais si tu veux qu’on t’aider à trouver pourquoi, il nous faut plus de code.
Et notamment la déclaration de number et sa portée.
0
5dt1 Messages postés 10 Date d'inscription lundi 6 juillet 2020 Statut Membre Dernière intervention 23 septembre 2020 1
23 sept. 2020 à 13:38
Voici tout le code de la form1 :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Calculateur
{
    public partial class Form1 : Form
    {
        internal Form1()
        {
            InitializeComponent();
        }
        public int number;
        public void generationpanel()
        {
            int Number = number;
            Form2 form2 = new Form2();
            DialogResult result = form2.ShowDialog();
            if (result == DialogResult.OK)
            {
                Panel newpanel = new Panel();
                int panel = Number + 3;
                string panelnew = Convert.ToString(panel);
                newpanel.Name = "panel" + panelnew;
                newpanel.Size = new Size(770, 31);
                int point = Number * 31;
                int point2 = point + 77;
                newpanel.Location = new Point(0, point2);
                Label newlabel = new Label();
                newlabel.Text = form2.label12.Text;
                newlabel.Text = form2.label12.Text;
                newlabel.Location = new Point(9, 9);
                newlabel.Size = new Size(67, 13);
                Label newlabel1 = new Label();
                newlabel1.Text = form2.label13.Text;
                newlabel1.Location = new Point(97, 9);
                newpanel.Controls.Add(newlabel);
                newpanel.Controls.Add(newlabel1);
                Controls.Add(newpanel);
                int number = Number++;
                button1.Text = Convert.ToString(Number);
            }
        }
        public void colormouseenter()
        {
            panel2.BackColor = Color.FromArgb(255, 200, 200, 200);
        }
        public void colormouseleave()
        {
            panel2.BackColor = SystemColors.Control;
        }
        private void label2_Click(object sender, EventArgs e)
        {
            generationpanel();
        }
        private void panel2_Click(object sender, EventArgs e)
        {
            generationpanel();
        }
        private void label1_Click(object sender, EventArgs e)
        {
            generationpanel();
        }
        private void label1_MouseEnter(object sender, EventArgs e)
        {
            colormouseenter();
        }
        private void label2_MouseEnter(object sender, EventArgs e)
        {
            colormouseenter();
        }
        private void panel2_MouseEnter(object sender, EventArgs e)
        {
            colormouseenter();
        }
        private void label1_MouseLeave(object sender, EventArgs e)
        {
            colormouseleave();
        }
        private void label2_MouseLeave(object sender, EventArgs e)
        {
            colormouseleave();
        }
        private void panel2_MouseLeave(object sender, EventArgs e)
        {
            colormouseleave();
        }
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            DialogResult result = MessageBox.Show("Voulez vous vraiment quitter ? Toutes les ajouts effectués seront alors supprimé !", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (result == DialogResult.No)
            {
                e.Cancel = true;
            }
        }
0

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

Posez votre question
5dt1 Messages postés 10 Date d'inscription lundi 6 juillet 2020 Statut Membre Dernière intervention 23 septembre 2020 1
23 sept. 2020 à 15:32
C'est bon j'ai réussi a corriger le problème de la variable number , le problème venait de la je poste le code pour ce que ça intéresse .
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Calculateur
{
    public partial class Form1 : Form
    {
        internal Form1()
        {
            InitializeComponent();
        }
        public static int number;
        int Number = number;
        public void generationpanel()
        {
            //int Number = number;
            Form2 form2 = new Form2();
            DialogResult result = form2.ShowDialog();
            if (result == DialogResult.OK)
            {
                Panel newpanel = new Panel();
                int panel = Number + 3;
                string panelnew = Convert.ToString(panel);
                newpanel.Name = "panel" + panelnew;
                newpanel.Size = new Size(770, 31);
                int point = Number * 31;
                int point2 = point + 77;
                newpanel.Location = new Point(0, point2);
                Label newlabel = new Label();
                newlabel.Text = form2.label12.Text;
                newlabel.Text = form2.label12.Text;
                newlabel.Location = new Point(9, 9);
                newlabel.Size = new Size(67, 13);
                Label newlabel1 = new Label();
                newlabel1.Text = form2.label13.Text;
                newlabel1.Location = new Point(97, 9);
                newpanel.Controls.Add(newlabel);
                newpanel.Controls.Add(newlabel1);
                Controls.Add(newpanel);
                button1.Text = Convert.ToString(Number);
            }
            int number = Number++;
        }

Merci pour votre aide ;)
5dt1
0
Utilisateur anonyme
23 sept. 2020 à 16:36
Ça me surprend qu’il ait fallu passer la variable static, mais soit
0
5dt1 Messages postés 10 Date d'inscription lundi 6 juillet 2020 Statut Membre Dernière intervention 23 septembre 2020 1
23 sept. 2020 à 21:22
Après nettoyage du code j'ai supprimé la variable static :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Calculateur
{
    public partial class Form1 : Form
    {
        internal Form1()
        {
            InitializeComponent();
        }
        public int Number;
        public void generationpanel()
        {
            Form2 form2 = new Form2();
            DialogResult result = form2.ShowDialog();
            if (result == DialogResult.OK)
            {
                Panel newpanel = new Panel();
                newpanel.Size = new Size(760, 31);
                int point = Number * 31;
                newpanel.Location = new Point(0, point);
                Label newlabel = new Label();
                newlabel.Text = form2.name;
                newlabel.Location = new Point(9, 9);
                newlabel.Size = new Size(67, 13);
                Label newlabel1 = new Label();
                newlabel1.Text = form2.argentph + " $ / h";
                newlabel1.Location = new Point(175, 9);
                newpanel.Controls.Add(newlabel);
                newpanel.Controls.Add(newlabel1);
                conteneur.Controls.Add(newpanel);
            }
            int number = Number++;
        }

5dt1
0