re bonjour
je veux utiliser un control déclaré dans la classe MainForm et c'est la classe qui contient la méthode main(), je veux l'utilisé dans une autre classe , comment je peut le déclaré ??
re bonjour
je veux utiliser un control déclaré dans la classe MainForm et c'est la classe qui contient la méthode main(), je veux l'utilisé dans une autre classe , comment je peut le déclaré ??
d'une façon plus expliqué, je veux récupérer le texte d'un richTextBox pour l'utiliser dans une autre classe
Tu peux faire une méthode ,dans la classe qui contient le richTextBox, qui retourne en string (par exemple) le contenu de la richTextBox.
Et ensuite, de ton autre Form, tu appelles cette méthode et tu mets sa valeur de retour dans une variable que tu peux utiliser par après.
Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class Form1 : Form { ... ... public string GetRichTextBoxText() { return richTextBox1.Text; } ... ... }C'est un exemple ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Form2 : Form { ... ... string temp maForm1.GetRichTextBoxText(); MessageBox.Show(temp); ... ... }
Et il faut que ta Form2 connaisse ta Form1 pour accéder à sa méthode.
Tu peux aussi encapsuler le champ, ta richTextBox.
le problème c'est que j'ai besoin du richTextcox lui meme : voilà la description exacte :
j'ai la classe MainForm qui contient le richBox et c'et la classe qui contient la méthode main et j'au une classe recherche qui contient une interface graphique permettant de saisir un mot à chercher dans le contenu du richTextbox et s'il le trouve il le sélectionne.
C'est le même principe, a part que ta méthode prendrait en paramètre le mot a rechercher et que ta méthode retournerait (par exemple) un booléen a true ou false selon qu'elle a réussi a trouver le mot clé ou pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public class Form1 : Form { ... ... public bool GetRichTextBoxText(string motcle) { // parcours du text a la recherche du motcle if(trouve) return true; else return false; } ... ... }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Form2 : Form { ... ... bool found = maForm1.GetRichTextBoxText("MotCléARechercher"); if(found) MessageBox.Show("Mot clé trouvé !!!!"); ... ... }
c'est vrai que ça va me permettre de vérifier si le mot se trouve ou pas mais ne prmet pas de selectionner le mot dans le richTextBox
Mais tu as réfléchi un peu avant de poster ça ?
Au lieu de retourner un booléen pour dire si tu as trouvé ou pas, tu retournes un string qui contient le motClé si tu as trouvé ou une chaine vide (ou null) si tu n'as pas trouvé ...
C'est quand même pas à moi de te dire quelle technique/logique utiliser
Et puis je comprends pas pq tu voudrais le mot en retour puisque tu es censé l'avoir entré dans une autre Form.
Donc si tu cherches "Toto", il va pas te renvoyer "Titi" ...
et toi t'a réflichi avant de répondre,
je sais très bien que je peux avaoir la chaine que je cherche, mais si tu a bien lu ce que j'ai post"é tu du comprendre que je veux que la chaine sera sélectionner dans le ricTextBox genre coloré en bleu et le curseur à coté je ne cherche pas que le mot
Ben voila , parle de coloration ou de surlignage dès le début, ça évitera ce genre de problème, c'était pas clair. Sélectionner et surligner ne veut pas toujours dire la même chose.
Et ce que tu cherches apparement selon le titre de ton topic c est comment "appeler" (ton terme) un contrôle d'une autre class et modifier son comportement (ici surligner une partie de texte donc si j'ai bien compris).
Et donc ce que je t'ai proposé, à savoir créer une fonction ,dans la classe qui contient le richtextbox , qui fait ton traitement (rechercher le texte et s'il existe le surligner) et appeler cette méthode à partir d'une autre form, est toujours utilisable
Ou alors tu cherches comment surligner du texte dans une richtextbox et la c'est complètement autre chose et ça n'a rien à voir avec le titre du sujet.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager