DaFridge
Messages postés22Date d'inscriptionlundi 25 juin 2007StatutMembreDernière intervention 4 janvier 2008
-
18 oct. 2007 à 14:20
DaFridge
Messages postés22Date d'inscriptionlundi 25 juin 2007StatutMembreDernière intervention 4 janvier 2008
-
18 oct. 2007 à 16:17
Bonjour !
Ca fait deux jours que je cherche une solution à mon problème...
J'ai créé un formulaire Form1 sur lequel j'ai un contrôle richTextBox1 contenu dans un groupBox1.
J'ai créé une classe Journal dans un fichier Journal.cs qui doit me permettre de mettre à jour le contenu de la richTextBox1 (pour en faire un journal, histoire d'avoir des retours sur l'exécution de l'application).
public
class
Journal
{
public
void AjouterMessage(
string message,
int type)
{
...
}
}
Mais quand je compile l'application, j'ai une erreur du style "Le nom 'richTextBox1' n'existe pas dans le contexte actuel.
Même en changeant la propriété Modifiers de TOUS mes contrôles à Public, j'ai toujours cette erreur...
Donc je voudrais savoir comment utiliser un contrôle de ma Form1 à partir d'une classe qui n'est pas dans Form1.cs ?
Merci d'avance...
A voir également:
Une classe externe qui utilise un contrôle de ma Form1 ?
bidou_01
Messages postés134Date d'inscriptiondimanche 1 octobre 2006StatutMembreDernière intervention19 mai 20081 18 oct. 2007 à 14:54
Re,
J'ai fait quelque test, et en fait je pense savoir d'ou viens le problème. Tu es obligé de taper sur une instance de ta classe Form1 pour pouvoir accéder à ta richTextBox1. En effet, le controle richTextBox n'est pas static, puisqu'il est crée par la méthode InitComponent si tu as utilisé le designer, ou par toi même dans le code. Dans tous les cas, si tu n'instancie pas ta form impossible.
Tu dois procéder de la façon suivante : (ou du moins dans le style, après je ne sais pas ce que tu veux faire)
bidou_01
Messages postés134Date d'inscriptiondimanche 1 octobre 2006StatutMembreDernière intervention19 mai 20081 18 oct. 2007 à 15:13
Hum, encore plus bizarre.
Tu es dans le même projet ? Dans le même namespace. Sinon vérifies les références de ton projets et aussi que tu as appelé les bonnes directives "using"
DaFridge
Messages postés22Date d'inscriptionlundi 25 juin 2007StatutMembreDernière intervention 4 janvier 2008 18 oct. 2007 à 15:30
Quel idiot je fais. Il y avait une faute de frappe sur le namespace.
En copiant ton code à la lettre, "La génération a réussi".
Mais lors de l'exécution, j'ai une erreur "La référence d'objet n'est pas définie à une instance d'un objet." lorsque j'utilise
form.richTextBox1.Text.Length;
DaFridge
Messages postés22Date d'inscriptionlundi 25 juin 2007StatutMembreDernière intervention 4 janvier 2008 18 oct. 2007 à 16:17
Euh je suis désolé mais avec cette source je n'arrive pas à comprendre comment piloter la richTextBox1 de ma Form1 à partir de ma classe...
Je souhaite juste lire et écrire dessus. Je ne vais pas à chaque fois envoyer la longueur du texte ou le texte de ma richTextBox à ma classe ?