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:

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


C#-Quelltext
1:
RichEdit1->Add()                    
, was auch in der Hilfe steht, zumindest in der D7-Hilfe.


Christian S. - Fr 04.01.08 18:24

user profile iconMitmischer 1703 hat folgendes geschrieben:

C#-Quelltext
1:
RichEdit1->Add()                    
, 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):


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