Entwickler-Ecke
WinForms - RichtText Box
2Good4You - Fr 04.01.08 13:28
Titel: RichtText Box
Hallo,
Arbeite mit VS2005, und habe eine Form1 in der sich 2 txtbox befinden in denen man was eingeben kann, weiters ist ein OK Button vorhanden!
Beim drücken des OK Buttons werden die 2 Wörter, die in den 2 txtboxen von Form1 stehn, in eine RichTextBox in einer Form2 geschrieben!
Das Funktioniert ja alles! Ich möchte dies aber wiederholnen können.
d.h. ich will zwei weitere Wörter in Form1 eingeben können, und mit dem OK Button die RichTextBox um diese 2 wörter erweitern! Bei mir werden die 2 "alten" wörter immer überschrieben!
Kann mir da jemand helfen?
mfg
Christian S. - Fr 04.01.08 13:58
Hallo!
Erweitere Deine Form2 um eine Methode, der Du die zwei Wörter übergeben kannst. In dieser Methode werden die Wörter dann an den Text in der RichTextBox angehangen. Aufgerufen wird die Methode dann bei jedem Button-Click.
Grüße
Christian
JüTho - Fr 04.01.08 14:35
Allgemeiner Tipp: Gehe in die SDK-Doku und suche per Index die Informationen zu einer Klasse. In der Liste "Alle Member" stehen Kurzbeschreibungen aller Eigenschaften, Methoden und Ereignissen. Fast immer findet man darunter etwas, was bei einem Problem weiterhilft; andernfalls gibt es oft Querverweise auf andere Klassen.
Konkret: Du willst in einer RichTextBox Text anhängen. Was Wunder - es gibt eine Methode "AnhängenText"; und das ist die Methode, die Christian vorschlägt.
Jürgen
2Good4You - Fr 04.01.08 14:38
ah, ok
aber mein Problem dabei ist, dass man unendlich lange text hinzufügen könen soll!
Es geht hier um Artikel die aufgenommen werden, und da nimmt man eben mal 5, 9, oder 2 usw. artikel auf!
mfg
Christian S. - Fr 04.01.08 14:40
Hallo!
Keine der hier vorgeschlagenen Methoden verhindert, beliebig langen Text anzuhängen. Versuche doch mal umzusetzen, was ich schrieb. Wenn Du nicht weiter kommst, helfen wir dann :-)
Grüße
Christian
2Good4You - Fr 04.01.08 15:06
Versteh nicht ganz wie du das meinst
Hier mein Code:
FORM1 ( main ) :
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;
namespace hotecalc_versuche { public partial class main : Form { public main() { InitializeComponent(); }
private int stk; string mat;
private void dichtung_Click(object sender, EventArgs e) { dichtung Dichtung = new dichtung(); Dichtung.ShowDialog(); this.Show(); Dichtung.return_rund(ref stk, ref mat);
richTextBox1.Text = Convert.ToString(stk) + " Stück\n" + Convert.ToString(mat) + "\n\n"; } } } |
FORM 2 ( dichtung ):
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35:
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Excel;
namespace hotecalc_versuche { public partial class dichtung : Form { public dichtung() { InitializeComponent(); }
public int stk; string mat;
public void return_rund(ref int a, ref string b) { a = stk; b = mat; }
private void btn_ok_Click(object sender, EventArgs e) { stk = Convert.ToInt32(this.textBox1.Text); mat = Convert.ToString(this.textBox2.Text);
this.Close(); } } } |
mfg
JüTho - Fr 04.01.08 16:13
Hast Du eigentlich gelesen, was Christian und ich geschrieben haben? Wir haben davon gesprochen, dass Text
angehängt werden soll, Du weist aber nach wie vor einen bestimmten Text direkt zu.
RichTextBox.Anhängen!!!!!!!!
Außerdem ist die
Convert-Klasse möglichst zu vermeiden:
- Convert.ToString(mat) und Convert.ToString(textBox2.Text) sind sowieso Quatsch, weil die Werte bereits Strings sind.
- Für jede Klasse gibt es die einfache Variante ToString(), also hier stk.ToString().
- Convert.ToInt32(textBox1.Text) ist fehleranfällig: was passiert denn, wenn Buchstaben eingegeben werden? Verwende besser Int32.TryParse().
Jürgen
2Good4You - Fr 04.01.08 16:28
ich checkst nicht! wie meint ihr das mit dem anhängen?
Danke erstmal ür die Tips mit dem Convert!...
mfg
JüTho - Fr 04.01.08 18:15
In meinem Beitrag von 14:35 Uhr habe ich beschrieben, wie Du vorgehen sollst - sowohl allgemein als auch konkret. Wieso findest Du keine Methode für "Anhängen"? Jürgen :oops:
Mitmischer 1703 - Fr 04.01.08 18:21
, was auch in der Hilfe steht, zumindest in der D7-Hilfe.
Christian S. - Fr 04.01.08 18:24
Mitmischer 1703 hat folgendes geschrieben: |
| , was auch in der Hilfe steht, zumindest in der D7-Hilfe. |
Schau mal auf die Sparte, in der dieses Thema steht ;-)
2Good4You - So 06.01.08 18:03
Tut mir leid, aber jetzt schau ich schon 1Stunde herum, und komm auf keine Lösung!
| Zitat: |
| RichTextBox.Anhängen!!!!!!!! |
Keine Ahnung, wie soll das funktioniern?
| Zitat: |
| Wieso findest Du keine Methode für "Anhängen"? |
Ich weiß nicht, i finde keine! Wo? richTextBox.?????????
mfg
JüTho - So 06.01.08 19:00
Ich verstehe es nicht: Wieso findet man in der
SDK-Doku keine Informationen? Heute mittag hatte ich bereits unter
Mathodenname der Rufermethode ermitteln. [
http://entwickler-forum.de/showpost.php?p=157323&postcount=6] ausführlich beschreiben müssen, wie die
SDK-Doku zu benutzen ist:
| Zitat: |
... und wenn Du nicht zu faul wärst, um in der SDK-Doku zu blättern...
Gleiches geht zur Not auch ohne SDK-Doku: schreib in der IDE den Namen einer beliebigen Instanz einer beliebigen Klasse (z.B. ... den allgemeinen Bezeichner "this"), dahinter den Punkt und warte kurz, bis Dir die möglichen Eigenschaften, Methoden und Ereignisse angezeigt werden. Dann gehst Du einfach alle langsam durch und liest die Beschreibungen.
Konkretes Verfahren (gaaaanz langsam und ausführlich, unter Verwendung meiner bisherigen Hinweise): |
- im Index-Bereich der SDK-Doku unter "Suchen nach" irgendeine Klasse auswählen, z.B. "RichTextBox"
- in der Liste der Möglichkeiten zu dieser Klasse "alle Member" wählen
- in der Liste der Member zu den Methoden springen
- unter XXX() lesen: "Fügt Text an den aktuellen Text eines Textfelds an."
- diese Methode endlich übernehmen und benutzen
Reicht das jetzt endlich als Arbeitsanleitung? :oops: Jürgen
2Good4You - So 06.01.08 19:05
bin soeben auf die Lösung gekommen!
mein Fehler war, das ich immer richtextbox.Text.??????? geschrieben habe, da ist es dann klar, dass ich keine Methode finde!
habe es jetzt: richtextbox1.AppendText(.....);
Danke an alle!
Schönen Abend noch
mfg
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!