Ma première Application en C#

bulle45 Messages postés 1 Date d'inscription vendredi 19 août 2011 Statut Membre Dernière intervention 19 août 2011 - 19 août 2011 à 10:49
quicklight Messages postés 15 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 1 septembre 2013 - 7 sept. 2011 à 17:51
Bonjour à tous,

J'ai besoin d'un peu d'aide, je suis débutante en C#, je suis spécialisé en développement Web à l'origine, mais dans le cadre de mon apprentissage je dois voir aussi le développement d'appli, et au niveau de mon travail on me demande de développer une petite application, mais comme tout langage au début je galère.

Voici en gros mon application : C'est un début :


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;

namespace Stock
{
    public partial class Accueil : Form
    {
        public Accueil()
        {
            InitializeComponent();
        }

        private void BT_OF1_Click(object sender, EventArgs e)
        {
            ParametresOF myForm = new ParametresOF();
            myForm.ShowDialog();
        }

        private void BT_OF2_Click(object sender, EventArgs e)
        {
            ParametresOF myForm = new ParametresOF();
            myForm.ShowDialog();
        }

        private void BT_OF3_Click(object sender, EventArgs e)
        {
            ParametresOF myForm = new ParametresOF();
            myForm.ShowDialog();
        }

        private void BT_OF4_Click(object sender, EventArgs e)
        {
            ParametresOF myForm = new ParametresOF();
            myForm.ShowDialog();
        }
    }
}



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;

namespace Stock
{
    public partial class ParametresOF : Form
    {
        public ParametresOF()
        {
            InitializeComponent();
        }

        private void BT_FERMER_Click(object sender, EventArgs e)
        {
            Close();
        }
    }
}




Vous voyez rien de merveilleux, les débuts quoi ...

Ce que je cherche a faire dans l'instant c'est de faire une bouche au niveau de ma 1er fenêtre disant que si il y a 3 OF alors afficher que 3 boutons, faire disparaitre les boutons inutile s'il n'y a pas 4 OF en cour.
*OF = sont des ateliers en gros.
Je vais connecter ma BDD a mon appli mais comment faire pour que seul 1 ou 2 ou 3 boutons s'affiche si je n'ai que 1,2,3 ateliers actif.
J'espère avoir été un minimum claire.

Merci d'avance.

Marie.

4 réponses

4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
19 août 2011 à 11:32
Voici les pistes que je te sugères (en t'en donnra d'autre peut être) de suivre.

Quand tu dis "dans l'instant c'est de faire une bouche au niveau de ma 1er fenêtre disant que si il y a 3 OF alors afficher que 3 boutons" bouche que je traduit boucle. Pour cela ajoute un timer a ton projet.

Quand tu dis " si il y a 3 OF alors afficher que 3 boutons, faire disparaitre les boutons ". Je pense que derire chques boutons il faut que tu ayes une varible satatique bool (true ou false). Cette variable devra changer d'état quand en clique sur le bouton.

Il faut aussi une variable global, un compteur, qui sera incrémenté à chaque fois que la variable statique du bouton vaut true. et désincrémentée dans le cas contraire. Par exemple Si l'utilisateur clique sur le bouton 1 alor la varible satatique vaudra true et le compteur vaudra +1. Si je reqlique sur le bouton 1 alor la variable statique vaudra false et le compteur vaudra -1.

Comme cela dans ton timer en lisant la valeur du compteur tu sauras combien de bouton sont cliquées.

Voila mon avis. tout te bon.
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
23 août 2011 à 16:23
pour ma part j'utiliserais un timer, dans lequel je me connecterait a la BDD en faisant un select count(nboffre) par exemple
en fonction du resultat(1,2,3,...) je ferais
des BT_OF1.enabled = false; //ou true
BT_OF2.enabled = false; //ou true
....

regarde mes sources tu y trouvera peut etre un peu d'aide pour les acces a la bdd


Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
0
elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 3
25 août 2011 à 00:39
Alors moi j'ai pas tout compris, enfin je pense avoir compris que tu voulais autant de bouton sur ta Form principale que tu possèdes d'instance de "ParametresOF" ?

Pourquoi utiliser un Timer ... moi j'utiliserai une liste (List) dans laquelle je placerai mes ParametresOF avec un evenement Click associé !?

Sinon "libere" tes formulaires dès que tu le peux, exemple :

using ( ParametresOF myForm = new ParametresOF() )
{
DialogResult dr = myForm.ShowDialog();
if ( dr == bla bla ) 
}



../\_/\..
.( o.o ). ~ ElGuevel ~
..> - <..
0
quicklight Messages postés 15 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 1 septembre 2013
7 sept. 2011 à 17:51
Pour illustrer un peu, je pense avoir quelque chose qui colle assez bien. Le but ne sera pas de supprimer les boutons inutiles, mais de créer ceux dont tu as besoin, et uniquement ceux là un peu comme dit elguevel.
public ParametresOF()
{
    InitializeComponent();

    int nbOF = 3; // Tu récupères le nombre d'OF
    for (int i = 1; i <= nbOF; i++) // (ici de 1 à 3)
    {
        Button b = new Button();
        b.Name = "btn_OF_" + i.ToString();
        b.Text = "OF " + i.ToString();
        b.Size = new Size(largeur, hauteur); // Par défaut : Size (75, 23);
        b.Location = new Point(x, y);

        /* Gaffe à ce qu'il soit différent pour chaque boucle sinon tes boutons seront superposés
        Pour cela, utilises quelque chose comme b.Location = new Point (50x, (i*20-10));
        Les boutons seront donc placés à 20 pixels d'interval (dans la hauteur).
        A toi de trouver comment faire autrement pour l'affichage en utilisant "i". */

        b.Click += new EventHandler(fenetreParametres);
        MonControleParent.Controls.Add(b);
    }
}

private void fenetreParametres(object sencer, EventArgs e)
}
    ParametresOF myForm = new ParametresOF();
    myForm.ShowDialog();
}


Je pense avoir été clair :)
Bon courage.
0
Rejoignez-nous