Autor Beitrag
JoKaBo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157



BeitragVerfasst: Do 06.01.11 20:36 
Hallo,

Ich Mochte Etwas in einer listbox speicher wen ich auf einen Button neuer eintrag gehe Offnet sich ein fenster mit einer TexBox und einer richttextBox ich habe es auch schon hinbekommen die textbox in der listbox anzuzeigen und zu Öffnen Aber Ich Krige s nicht hinn das sich auch die RichtTextBox Speichert.

einmal Form1 Mit der ListBox
und Form 2 mit der TextBox Und richtTextBox

Mit Form 1 Die Form 2 Öffnen
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
private void button2_Click(object sender, EventArgs e)
        {
            eintrag form = new eintrag();

            DialogResult dr;

            dr = form.ShowDialog(this);

            if (dr == DialogResult.OK)
            {
                if (form.textBox1.Text.Length > 0)
                
                    this.listBox1.Items.Add(form.textBox1.Text);



Auf der Form 2 Der Ok Button:

ausblenden C#-Quelltext
1:
2:
3:
private void button1_Click(object sender, EventArgs e)
this.DialogResult = System.Windows.Forms.DialogResult.OK;
            this.Close();


Der inhalt der TextBox soll dan Als name auf der listBox sein und die richttextBox soll einfach mit Gespeichert werden, soll aber nicht in der listBox sichtbar sein.

Dan der Button Auf der Form1 Der den inhalt wider anzeigen soll:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
private void button3_Click(object sender, EventArgs e)
        {
            eintrag form = new eintrag();
            if (this.listBox1.SelectedItems.Count > 0)
            {

                form.textBox1.Text = this.listBox1.SelectedItems[0].ToString();
                form.ShowDialog(this);
            }


und das speichern der listBox
Habe ich Schon Hinbekommen


Ich weis nicht was daran falsch ist

und bitte In C#
Das were echt Klasse wen ihr mir helfen Könntet

L.G.
JoKaBo

Moderiert von user profile iconChristian S.: Quote- durch C#-Tags ersetzt
Namenlosnameless
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Fr 07.01.11 00:05 
hab ich mich verlesen oder hast du: eine Form1 mit textbox und ListBox und eine Form2 mit einem OK-Button?

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 07.01.11 08:39 
user profile iconJoKaBo hat folgendes geschrieben Zum zitierten Posting springen:
Ich weis nicht was daran falsch ist
Ich denke das Speichern der TextBox klappt bereits? Und zu etwas anderem (wie der richtTextBox) hast du ja keinen Code gepostet.

Ich verstehe gar nicht was jetzt eigentlich das Problem ist. Du postest Code zu einem Problem, das aber ja offenbar gelöst ist. Fragst warum etwas anderes nicht geht, postest aber weder Code dazu noch was dabei das Problem ist. :roll:

Auf jeden Fall solltest du dir erst einmal eine Variable bzw. ein Feld deklarieren, in dem du die Daten aus dem zweiten Formular speicherst. Die kannst du natürlich dann zusätzlich in der Listbox anzeigen, aber die Listbox als Datenspeicher zu missbrauchen ist Blödsinn.

Auch der direkte Zugriff auf die Komponenten im zweiten Formular ist keine so gute Idee. Das geht über Eigenschaften viel besser:
msdn.microsoft.com/d...fsa0sw(v=vs.80).aspx
JoKaBo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157



BeitragVerfasst: Fr 07.01.11 10:45 
Also eigentlich sollte das problem da stehen habe es dann vergessen
Also das problem ist ich weis nicht wie ich das mit der richttextbox mache das sie sie sich im Hintergrund speichert aber nich in der Listbox zu sehen ist.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 07.01.11 11:46 
Wie gesagt, du deklarierst dir eine Variable, z.B. als String, und packst den Inhalt da rein. :nixweiss:
JoKaBo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157



BeitragVerfasst: Fr 07.01.11 13:24 
hallo,

ich habe es fast richtig inbekommen[quote].
er zeigt die textBox 1 In der listBox1 an und die txtBox 2 wird im hintergrund gepeichert. aber wen ich jezt auf neuer eintrag gehe steht der text immernoch in der textBox2 Habe es auch schon da mit Probirt:

Zitat:
this.textBox2.Text.Remove(this.textBox2.SelectedText[0]);

Aber Geht nicht dann weist er mich immer zu disem code und makirt ihn gelb
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 07.01.11 13:45 
user profile iconJoKaBo hat folgendes geschrieben Zum zitierten Posting springen:
Aber Geht nicht dann weist er mich immer zu disem code und makirt ihn gelb
Wie ich schon im anderen Thread sagte: Was für eine Meldung kommt und was willst du mit dem Code denn erreichen? :roll:
JoKaBo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157



BeitragVerfasst: Fr 07.01.11 13:55 
1.
in meinem programm wenn ich dort auf neuen eintrag gehe soll sich einen Form mit 2 TextBoxen Öffnen die Obere soll in der list Box Auf der aneren for erscheinen

Fertig

2. soll die textBox2 den inhalt im hintegrund speichern

Fertig

3.wenn ich auf neuen eintrag gehe soll das Formular lehr sein aber jezt stht immer noch der inhalt der textBox2 da.

und es steht kein feler da
eswird nur dise zeile gelb makirt


Zitat:
this.textBox2.Text.Remove(this.textBox2.SelectedText[0]);
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 07.01.11 14:10 
user profile iconJoKaBo hat folgendes geschrieben Zum zitierten Posting springen:
3.wenn ich auf neuen eintrag gehe soll das Formular lehr sein aber jezt stht immer noch der inhalt der textBox2 da.

und es steht kein feler da
eswird nur dise zeile gelb makirt

ausblenden C#-Quelltext
1:
 this.textBox2.Text.Remove(this.textBox2.SelectedText[0]);					

Vielleicht ist deine Installation von Visual Studio ja kaputt? Bei mir sieht das in etwa so aus:
exception

Wenn du dir den Code anschaust, siehst du auch, warum es dort knallt. Klammern werden zuerst ausgewertet, also schauen wir dort rein: Du greifst auf die Eigenschaft SelectedText der TextBox zu, die, wie der Name schon sagt, den Text enthält, den der Benutzer markiert hat. Wahrscheinlich hat er nichts markiert, also ist dieser String leer. Und nun greifst du mit [0] auf dessen erstes Element zu - und da es kein erstes Element gibt, siehst du diese Fehlermeldung.

Dein Ansatz ist übrigens nicht der richtige. Setze die Einfügemarke auf das Remove und drücke F12, um die Beschreibung dieser Methode zu erhalten (du musst dann auf die drei Punkte am Anfang der markierten Zeile doppelklicken). Dort steht:

string.Remove(int) hat folgendes geschrieben:
// Zusammenfassung:
// Löscht alle Zeichen aus dieser Zeichenfolge, beginnend an einer angegebenen
// Position bis zur letzten Position.
//
// Parameter:
// startIndex:
// Die nullbasierte Position, ab der Zeichen gelöscht werden sollen.
//
// Rückgabewerte:
// Eine neue Zeichenfolge, die dieser Zeichenfolge ohne die entfernten Zeichen
// entspricht.
//
// Ausnahmen:
// System.ArgumentOutOfRangeException:
// startIndex ist kleiner als 0 (null).- oder - startIndex gibt eine Position
// an, die sich nicht innerhalb dieser Zeichenfolge befindet.

Erstens erwartet die Methode als Parameter die Position im String, an der angefangen werden soll, zu löschen, und du übergibst den Zeichencode des ersten Zeichens des Strings. Zweitens gibt die Methode den neuen String als Rückgabewert zurück, und ändert nicht den String selbst.

Lange Rede, kurzer Sinn: So geht's nicht. Wie es geht, hat dir user profile iconNamenlosnameless in deinem anderen Thread übrigens schon verraten.
Einloggen, um Attachments anzusehen!