Créer un label dans une classe et l'afficher sur le form1 [Résolu]

fredlefou - 2 déc. 2012 à 21:07 - Dernière réponse :  mouhamedba911
- 10 janv. 2013 à 08:46
Salut à tous,

Je tente de créer un label dans une classe que je nomme Block et que j'appel dans mon form1. Le label ne s'affiche pas.

voici le code du Block:
public class Block
{
Form frm = new Form();

public void Makelbl(string Name)
{ Label lbl = new Label();
lbl = new System.Windows.Forms.Label();

frm.SuspendLayout();
//
// lbl
//
lbl.AutoSize = true;
lbl.Location = new System.Drawing.Point(50, 50);
lbl.Name = Name;
lbl.Size = new System.Drawing.Size(35, 13);
lbl.TabIndex = 0;
lbl.Text = Name;
//
// Form1
//
frm.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
frm.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
frm.ClientSize = new System.Drawing.Size(100, 100);
frm.Controls.Add(lbl);
frm.Name = "Form1";
frm.ResumeLayout(true );
frm.PerformLayout();
}
}

et celui dans le form1:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Block blk_01 = new Block();
string name = "lbl_0001";
blk_01.Makelbl(name);
}
}
FredLeFou
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
3
Merci
Merci! Ca fonctionne.

voici ce que j'ai fais
public Form1()
{
InitializeComponent();
Block blk_01 = new Block();
string name = "lbl_0001";
blk_01.Makelbl(name,this);

et pour Block
public void Makelbl(string Name,Form frm)

Solution Simple...Encore merci!

FredLeFou

Merci fredlefou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de fredlefou
Meilleure réponse
Whismeril 12116 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 octobre 2018 Dernière intervention - 3 déc. 2012 à 07:04
3
Merci
De rien, quand tu postes du code pense à utiliser les balises qui vont bien, je cite NHenry:
Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )

Whismeril

Merci Whismeril 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Whismeril
Meilleure réponse
mouhamedba911 - 9 janv. 2013 à 11:10
3
Merci
salut a vous...je sollicite votre aide en java..
je suis tout nouveau en java et je voudrai insérer 1 Label nommé CONNEXION juste au dessus de mes TextFields et deux Label LOGIN et PASSWORD accolés aux TextFields..1 boutons nommé SOUSCRIRE en bas à gauche de l'interface un lien de redirection...
et au autre bouton CONNECTER..
voici le code que même télécharger ici pour me perfectionner en java...
Merci d'avance


package Ihm;    
import javax.swing.*;
    import java.awt.*;
    public class LancementApplication
    {
    public static void main(String[] args)
    {
    SwingUtilities.invokeLater(new
    Runnable()
    {
    public void run()
    {
    JFrame.setDefaultLookAndFeelDecorated(true);
    LayoutFrame frame = new LayoutFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
    }
    });
    }
    }
    class LayoutFrame extends JFrame
    {
    public LayoutFrame()
    {
    setTitle("Analyse de coordonnées d'utilisateur");
    createMainPanel();
    createTextFieldPanel();
    createButtonPanel();
    mainPanel.add(txtPanel);
    mainPanel.add(buttonPanel);
    getContentPane().add(mainPanel);
    }
    /** Crée un panneau de champs */
    private void createTextFieldPanel()
    {
    txtPanel = new JPanel();
    txtPanel.setLayout(new BoxLayout(txtPanel, BoxLayout.PAGE_AXIS));
    createTextField(txtFirstName);
    createTextField(txtLastName);
    createTextField(txtTelNumber);
    txtPanel.setBorder(BorderFactory.createEmptyBorder(200,200,200,200));
    }
    /**
    * Crée un nouveau champs de texte
    * @param txtF Le bouton à créer
    */
    private void createTextField(JTextField txtF)
    {
    txtF = new JTextField(20);
    txtPanel.add(txtF);
    txtPanel.add(Box.createRigidArea(new Dimension(0,10)));
    }
    /** Crée un panneau de boutons */
    private void createButtonPanel()
    {
    buttonPanel = new JPanel();
    buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS));
    createButton(btnOk, "Valider");
    createButton(btnCancel, "Quitter");
    }
    /**
    * Crée un bouton et l'ajoute au panneau de bouton
    * @param button Le bouton a créer
    * @param name Nom du bouton
    */
    private void createButton(JButton button, String name)
    {
    button = new JButton(name);
    button.setAlignmentX(JButton.RIGHT_ALIGNMENT);
    buttonPanel.add(button);
    }
    private void createMainPanel()
    {
    mainPanel = new JPanel();
    mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.PAGE_AXIS));
    }
    JPanel mainPanel;
    JPanel txtPanel;
    JPanel buttonPanel;
    JTextField txtFirstName;
    JTextField txtLastName;
    JTextField txtTelNumber;
    JButton btnOk;
    JButton btnCancel;
    }

Merci mouhamedba911 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de mouhamedba911
Meilleure réponse
Whismeril 12116 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 octobre 2018 Dernière intervention - 9 janv. 2013 à 17:36
3
Merci
Bonjour, tu postes sur une discussion C#, pour une aide en JAVA. Tu as toutes les chances de ne pas avoir de réponse.

Crees une discussion dans le forum Java


Whismeril

Merci Whismeril 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Whismeril
Meilleure réponse
mouhamedba911 - 10 janv. 2013 à 08:46
3
Merci
bonjour whismeril...
vous avez raison j'ai pas prêté attention à ça..
Sinon Merci pour la remarque...
Cdlt

Merci mouhamedba911 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de mouhamedba911
Whismeril 12116 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 octobre 2018 Dernière intervention - 2 déc. 2012 à 22:49
0
Merci
Dans ta classe Block tu crées une nouvelle instance de Form1.
Donc tu ajoutes ton label dans une autre forme, que tu n'affiches pas.

Si tu veux afficher ton label dans la première forme, je te conseille de passer la référence dans les paramètres de Makelbl.

public void Makelbl(string Name, Form1 frm) 



Whismeril
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.