Gemme tekstboksen?

Tags:    c#

Hej

Jeg er ved at lave et lille teksteditor program (Ja, jeg er lige starter på C# :) ), men er stødt på et problem. Jeg valgte at programmet skulle have faneblade, men jeg ved ikke lige hvordan jeg skal klare at den gemmer det aktive faneblads tekstboks Pt. kan jeg kun få den til at gemme det første faneblads tekstboks, og det er hvis jeg skriver tekstboksens navn direkte ind koden. Jeg har forsøgt mig frem med dette

string savefile;
savefile = "TextBox" + tabControl1.SelectedIndex.ToString();
st.Write(savefile.Text.ToString());


Hver tekstboks har så navnene TextBox0, TextBox1 osv. Men det vil ikke virke, da 'string' does not contain a definition for 'Text'

Hjælp!

-Jesper

[Redigeret d. 18/12-05 13:38:36 af Jesper]



8 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Når du vil gemme en fil kan du bruge det følgende kode stykke:

Fold kodeboks ind/udKode 


Du kan altså gøre således:

Fold kodeboks ind/udKode 


Hilsen

Martin Dybdal (Dybber)
Blog: http://dybber.dk/blog/



Når du vil gemme en fil kan du bruge det følgende kode stykke:

Fold kodeboks ind/udKode 


Du kan altså gøre således:

Fold kodeboks ind/udKode 


Hilsen

Martin Dybdal (Dybber)
Blog: http://dybber.dk/blog/


Navnet på filen skal ikke være savefile, nok bare min variabel, som har et lidt misvisende navn.

savefile skal derimod være TextBoxens navn

altså

Fold kodeboks ind/udKode 


Så bliver du nok nødt til at bruge en switch, men så bliver du jo også nødt til at sætte en begræsning på hvor mange tabs man kan have åbent...
Man kunne måske gøre noget ala:
Fold kodeboks ind/udKode 


Hilsen
Jan S.

[Redigeret d. 19/12-05 18:32:11 af Jan S.]



Har du stadig dette problem, for så skal jeg nok prøve at hjælpe med at lave et lidt mere elegant løsning... :D



Ved ikke om du stadig har problemet, men var det ikke en ide at smide alle textboxene ind i et array? Så kunne du bare kalde det med f.eks. textBox[tabControl1.SelectedIndex.ToString()].

Altså hver gang man opretter et nyt faneblad, bliver den tilhørende textbox smidt ind i et array.

Har ikke lige nogen ide til et eksempel, bare et forslag :P

Mvh. Anders



Hej

Jeg er ved at lave et lille teksteditor program (Ja, jeg er lige starter på C# :) ), men er stødt på et problem. Jeg valgte at programmet skulle have faneblade, men jeg ved ikke lige hvordan jeg skal klare at den gemmer det aktive faneblads tekstboks Pt. kan jeg kun få den til at gemme det første faneblads tekstboks, og det er hvis jeg skriver tekstboksens navn direkte ind koden. Jeg har forsøgt mig frem med dette

string savefile;
savefile = "TextBox" + tabControl1.SelectedIndex.ToString();
st.Write(savefile.Text.ToString());


Hver tekstboks har så navnene TextBox0, TextBox1 osv. Men det vil ikke virke, da 'string' does not contain a definition for 'Text'

Hjælp!

-Jesper

[Redigeret d. 18/12-05 13:38:36 af Jesper]


Kan ikke lige forstå hvad du vil. Du skriver at du ville gemme tekstboxen, men er det ikke bare det tekst der står i feltet du vil gemme i en fil?

Den kode du har skrevet gør følgende:
Du laver en variabel af typen string og sætter dens indhold til at være TextBox efter fulgt af textboksens nummer.
Derefter bruger du Write metoden på st-objektet (gætter på det er en Stream af en slags?) og prøver at skrive indholdet af savefile-variablens Text-property, men en string har altså ikke en property der hedder Text..

Jeg forstår ikke helt hvad det er du vil skrive til den stream. Prøv at forklare nærmere.

Hilsen

Martin Dybdal (Dybber)
Blog: http://dybber.dk/blog/



Hej

Jeg er ved at lave et lille teksteditor program (Ja, jeg er lige starter på C# :) ), men er stødt på et problem. Jeg valgte at programmet skulle have faneblade, men jeg ved ikke lige hvordan jeg skal klare at den gemmer det aktive faneblads tekstboks Pt. kan jeg kun få den til at gemme det første faneblads tekstboks, og det er hvis jeg skriver tekstboksens navn direkte ind koden. Jeg har forsøgt mig frem med dette

string savefile;
savefile = "TextBox" + tabControl1.SelectedIndex.ToString();
st.Write(savefile.Text.ToString());


Hver tekstboks har så navnene TextBox0, TextBox1 osv. Men det vil ikke virke, da 'string' does not contain a definition for 'Text'

Hjælp!

-Jesper

[Redigeret d. 18/12-05 13:38:36 af Jesper]


Kan ikke lige forstå hvad du vil. Du skriver at du ville gemme tekstboxen, men er det ikke bare det tekst der står i feltet du vil gemme i en fil?

Den kode du har skrevet gør følgende:
Du laver en variabel af typen string og sætter dens indhold til at være TextBox efter fulgt af textboksens nummer.
Derefter bruger du Write metoden på st-objektet (gætter på det er en Stream af en slags?) og prøver at skrive indholdet af savefile-variablens Text-property, men en string har altså ikke en property der hedder Text..

Jeg forstår ikke helt hvad det er du vil skrive til den stream. Prøv at forklare nærmere.

Hilsen

Martin Dybdal (Dybber)
Blog: http://dybber.dk/blog/



Ok. Jeg har et program (En lille editor ala Notesblok), som dog har faneblade. Disse faneblade bliver lavet, når man trykker på CTRL + N. På hvert faneblad er der en textbox. På det første faneblad (Som automatisk åbner med programmet) hedder textboksen TextBox0, mens den gerne skulle hedde TextBox1 på det næste osv.

Når jeg så trykker Gem, skulle den gerne gemme indholdet af tekstboksen på det aktive faneblad

string savefile;
savefile = "TextBox" + tabControl1.SelectedIndex.ToString();
st.Write(savefile.Text.ToString());

Det er så her jeg mangler en eller anden måde at få det gjort på. Jeg forsøgte mig som skrevet med savefile = "TextBox" + tabControl1.SelectedIndex.ToString();, men der kommer den med den der fejl. Hvis det skulle foregå efter mit hoved, skulle den jo omdanne savefile til TextBox1, så der stod st.Write(TextBox1.Text.ToString());

Er der nogen anden metode jeg kan løse det på?



Når du vil gemme en fil kan du bruge det følgende kode stykke:

Fold kodeboks ind/udKode 


Du kan altså gøre således:

Fold kodeboks ind/udKode 


Hilsen

Martin Dybdal (Dybber)
Blog: http://dybber.dk/blog/


Navnet på filen skal ikke være savefile, nok bare min variabel, som har et lidt misvisende navn.

savefile skal derimod være TextBoxens navn

altså

Fold kodeboks ind/udKode 





Når du vil gemme en fil kan du bruge det følgende kode stykke:

Fold kodeboks ind/udKode 


Du kan altså gøre således:

Fold kodeboks ind/udKode 


Hilsen

Martin Dybdal (Dybber)
Blog: http://dybber.dk/blog/


Navnet på filen skal ikke være savefile, nok bare min variabel, som har et lidt misvisende navn.

savefile skal derimod være TextBoxens navn

altså

Fold kodeboks ind/udKode 


Så bliver du nok nødt til at bruge en switch, men så bliver du jo også nødt til at sætte en begræsning på hvor mange tabs man kan have åbent...
Man kunne måske gøre noget ala:
Fold kodeboks ind/udKode 


Hilsen
Jan S.

[Redigeret d. 19/12-05 18:32:11 af Jan S.]


Det du skriver der virker fint, når det er en ny tab den skal oprette. Men når den skal gemme virker den ikke helt (Altså switch)

Fold kodeboks ind/udKode 


'WindowsApplication1.Form1' does not contain a definition for 'textBox1'

Der kommer en masse af ovenstående fejl, hvilket jo er logisk nok, men også problematisk. Hvad kan jeg gøre?





t