Kezdőoldal » Számítástechnika » Programozás » C#, richtextbox mentése...

C#, richtextbox mentése fájlként, de másik osztályból? Órák óta kísérletezgetek.

Figyelt kérdés

Órák óta ennek nézek utána és próbálgatom, amiket találok. Semmi se működik. Volt, amit nem is értettem és volt, amit értettem és így nem tudom, vajon miért nem működik.

Már nem fog az agyam.


Szóval egy szövegszerkesztőt gyártok gyakorlásképp.

A mentést külön metódus(ok)ba akartam rakni, mert többször is szükség lesz rá (fájl / új; fájl / mentés) - ez a mentésre és a mentés máskéntra is vonatkozik.

Úgy gondoltam, ideje kipróbálni az osztálykönyvtárakat, bár ez talán nem lényeg.


A lényeg az, hogy adott a Form1 osztály, és a gomb eseménykezelőjéből meg szeretném hívni a másik osztályban levő metódust.

Amíg a Form1-ben volt a Mentes(), addig rendben működött, de totál átláthatatlanná kezdett válni...


Ma úgy kezdtem a gyakorlást, hogy volt egy ugyan fura és kezdetleges, de működő szövegszerkesztőm - ami ugyan csak új fájlba, de tudott menteni. Szeretném legalább úgy zárni a napot, hogy ismét van egy, legalább működőképes szövegszerkesztőm. :(


2019. márc. 17. 16:43
 1/9 anonim ***** válasza:
A metódust írd meg úgy hogy egy paramétert kap, a richtextbox szövegét, vagyis egy string-et. Utána ez a metódus megcsinálja a mentést. És gyakorlatilag a Form1 osztályodban hívod meg ezt a metódust, és beleilleszted a richtextbox.Text-et.
2019. márc. 17. 16:48
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:

Szerintem valamiért pont ez maradt ki. :D :D :D


Elég fapados módon, de van már benne mindenféle formázás: betűméret, -stílus, -típus.

Ezeket így is megtartja, ha így adom át paraméterként?

2019. márc. 17. 16:57
 3/9 anonim ***** válasza:
0%
És mi hogyan is tudunk rajtad segíteni?
2019. márc. 17. 16:59
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

Első közelítésben a szöveget tudod kimenteni szövegfájlba.

Utána kereshetsz arra módot, hogy hogyan tudsz olyan fájltípusba menteni, ami megőrzi az összes jellemzőt, formázásokat is. A formázott szöveg is lekérhető, ha jól emlékszem.

2019. márc. 17. 17:46
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:

Hát akkor lehet, hogy marad így egyelőre, már átláthatatlan, de legalább működik. :(


A SaveFileDialog osztályt használom amúgy jelenleg.

2019. márc. 17. 18:19
 6/9 anonim ***** válasza:
Szia! Első vagyok. Ha leakarod menteni a már formázott szöveget a richtextbox-ból, akkor van egy olyan property-je a richtextbox osztálynak hogy rtf string. Na ezt kell neked elmentened egy fájlba, és utána ezt betudod tölteni a richtextbox-ba. Olvass utána ennek hogy működik ez pontosan.
2019. márc. 17. 19:30
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:

Közben mással szenvedek a program kapcsán, de muszáj lesz megoldanom a külön osztályokat, mert ez így borzalmas, brutális átláthatatlan izé.



Köszönöm, akkor szerintem az általad említettel folytatom legközelebb!

2019. márc. 17. 19:35
 8/9 A kérdező kommentje:

Nem sikerül, de én is marha rosszul írtam le, mit akarok használni és hogyan. :D


A RichTextBox osztály SaveFile metódusát használom, aminek a SaveFileDialog osztály FileName property-jét adom paraméterül, mint "path".

Ééés akkor itt akadok el, hogy mit adjak paraméterül az új osztálynak, amibe a mentés metódusát raknám. Voltaképp akkor a Richtextbox osztály Form1-ben aktuálisan haszált, richtextbox1 nevű példánya kellene.



A visszavonáshoz és a "sima" mentéshez pedig kezelnem kell az előzményeket, stack segítségével.



Eléggé jól előjön itt, hogy mit nem értek még az OOP vagy az események témakörében. :(



Működik a szövegszerkesztő, csak gusztustalan kóddal és alapvető kényelmi funkciók hiányoznak.



A visszavonásra jelenleg ctrl+z-re és a menüpontra ugyanaz történik: semmi. :D így legalább a ctrl+z hatására nem üríti az egészet.

2019. márc. 18. 20:52
 9/9 A kérdező kommentje:
Update: mentés megoldva.
2019. márc. 18. 21:20

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!