Utiliser un contrôle à partir d'un autre .CS

jlf_2007 Messages postés 6 Date d'inscription mercredi 20 juin 2007 Statut Membre Dernière intervention 17 juillet 2007 - 13 juil. 2007 à 11:17
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 - 13 juil. 2007 à 11:57
Bonjour,

   Le "Form" principal "Main.cs" contient divers objets (boutons, barre de progression, cases à cocher, listbox...) auxquels je voudrais accéder depuis un autre fichier CS.
   J'ai par un exemple un contrôle "AddFiles" dans main.cs et j'ai essayé, dans "functions.cs" les opérations suivantes, mais rien ne marche (en fait, je me fais jeter à la compil):
   1) Main.AddFiles.xxx
   2) AddFiles.xxx
   3) "using Main" puis 1 et/ou 2...

Merci d'avance pour le coup de main

Cordialement,

       JLF

1 réponse

ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
13 juil. 2007 à 11:57
Bon, décidément, deux essai, deux bug, je tente en texte simple :

Salut, tu dépend de ce que tu veux faire, mais en général, un .cs contient une classe. Pourquoi ne pas passer une référence de tes contrôle à cette classe :

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Main.cs
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
namespace MonApp
{
public partial class MaClasse : Form //Je suppose que ton fichier Main.cs qui contient tes controles une WindowForm ?
{
public MaClass()
{
InitializeComponant();
// En mode designer tu à ajouter tes controles, par exemple une textbox nommée txtBox.
// Sinon tu peux ton txt box via un new : TextBox txtBox = new TextBox();
// Tu passe la référence à ta classe dans functions.cs
Functions MesFunctions = new MesFunctions(txtBox);
}
[...]
}
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//functions.cs
//Il te faudra également mettre les using pour utiliser tes contrôles. Si tu n'est pas sur, tu met tout ceux contenus dans ton main.cs
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

namespace MonApp
{
public class MesFunctions
{
private TextBox m_txtBox;
public MesFunctions(TextBox MaTextBox)
{
m_txtBox = MaTextBox;
//Maintenant tu as une variable locale à ta classe qui agira directement sur ton controle (c'est une référence).
}
}
}

Le travail c'est la santé, ne rien faire c'est la préservé !!!
0
Rejoignez-nous