Reprezentál egy Windows rich text box komponenst.
Észerevételek:
A RichTextBox komponens megengedi a felhasználónak, hogy belépjen és szerkessze a szöveget, ami mellett még több, egymástól különböző formátumot is engedélyez, mint egy mezei TextBox komponens. A szöveget kijelölhetjük közvetlenül a komponensben, vagy be tölthetjük egy Rich Text Format (RTF) fájlból, vagy egy egyszerű text fájlból. A komponensen belüli szöveg lehet egyszerű karakteres vagy paragraph formátumú.
A RichTextBox komponens ad egy számot a tulajdonságairól, amit fel tudsz használni a komponensen belül, annak bármelyik részén, a szövegen, hogy alkalmazhassunk egy formátumot. Ahhoz, hogy megváltoztassuk a szöveg formátumát, először ki kell jelölni. Csak a kijelölt szövegben tudjuk megváltoztatni a karakter és paragraph formátumot. A SelectionFont tulajdonság lehetőséget biztosít számunkra, hogy a szöveg bold vagy italic legyen. Még arra is használhatjuk, hogy meghatározzuk a méretét vagy a betűképet. SelectionColor tulajdonsággal a szöveg színe állítható be. Gyorslista készítéséhez, használjuk a SelectionBullet tulajdonságot, beállíthatjuk a paragraph formátumot a SelectionIndent, SelectionRightIndent, és SelectionHangingIndent tulajdonságokkal.
A RichTextBox komponens olyan metódusokat is ad amelyek funkcióival tudsz megnyithatunk vagy menthetünk fájlokat. A LoadFile metódus megengedi, hogy megfelelő RTF vagy ASCII szöveget, tartalmazó fájlokat nyissunk meg a komponensbe. Ezen felül még olyan fájlokat is meg tudsz nyitni, amiket már más megnyitott velünk egy időben. A SaveFile metódus megengedi, hogy megfelelő RTF vagy ASCII fájl formátumban mentsünk el szövegeket. Hasonló módon, mint a LoadFile metódus, a SaveFile metódust is tudjuk arra használni, hogy egy megnyitott fájlba menthetünk. A RichTextBox komponens olyan lehetőséget is ad, hogy stringeket keressünk a szövegben. A Find metódus is arra is lehetőséget biztosít, hogy hasonló stringeket keress a szövegben.
Az is megvalósítható, hogy adatot tároljon a memóriában.
Ha a komponensen belüli szöveg tartalmaz egy linket, mondjuk egy web sitera, akkor használhassuk a DetectUrls tulajdonságot, hogy megfelelően jelenjen meg a link a komponens szövegében. Ezután a LinkClicked eventtel elérhetjük, hogy ez működjön is. A SelectionProtected tulajdonsággal engedélyezhetjük azt, hogy a szöveg a komponensen belül védve legyen a felhasználók manipulációival szemben. Ezzel a levédett szöveggel a komponensen belül, hivatkozhatunk a Protected eventre, amivel közölhetjük a mezei felhasználóval, hogy ez a szövegrész számára nem módosítható, ha módosítani akarja.
Alkalmazásokat, amelyeket már a TextBox komponens is használ, könnyen bele lehet építeni a RichTextBox komponensbe, azonban a RichTextBox komponens nem tartalmazza a TextBox 64k karakter kapacitás limitjét.
Példa:
A bemutatandó példában készítünk egy RichTextBox komponenst, ami beolvas egy RTF fájlt, majd megkeresi az első helyet, ahol a "Text" kifelyezés jelen van. Ezután a program megváltoztatja a kijelölt szövegrész betű típusát, méretét, színét, majd ezekkel a változtatásokkal visszamenti az eredeti fájlba. Végezetül a megoldásban hozzáadja a Form felületéhez a RichTextBoxot.
public void CreateMyRichTextBox()
{
RichTextBox richTextBox1 = new RichTextBox();
richTextBox1.Dock = DockStyle.Fill;
richTextBox1.LoadFile("C:\\MyDocument.rtf");
richTextBox1.Find("Text", RichTextBoxFinds.MatchCase);
richTextBox1.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);
richTextBox1.SelectionColor = Color.Red;
richTextBox1.SaveFile("C:\\MyDocument.rtf", RichTextBoxStreamType.RichText);
this.Controls.Add(richTextBox1);
}
Néhány fontosabb Tulajdonság:
Dock |
Hogy hol helyeszkedjen el a formon belül |
|
AutoSize |
Automatikusan beállítja a komponens méretét font változtatás után |
|
Enabled |
Meghatározza, hogy lehet e módosítani a tartalmát |
|
BackGroundImage |
Háttérkép |
|
BackColor |
Háttér szín |
|
Bounds |
Nem kliens tartalmának a mérete |
|
ClientRectangle |
Annak a téglalapnak a tulajdonságait lehet beállítani, amit a kliens használ |
|
ClientSize |
A felhasználó által használható terület hosszúságát és szélességét lehet beállítani |
|
ContextMenu |
Beállítja a komponens gyorsindító menüjét |
|
Controls |
Tartalmazza a komponensen belül használható komponenseket |
|
Cursor |
Az egér mutató kinézete amíg a komponens felett van |
|
HasChildren |
Beállítja a komponenst ha több gyermek származik belőle |
|
Height |
Magasság |
|
Width |
Szélesség |
|
Left |
Balról behúzás |
|
Right |
Jobbról behúzás |
|
Top |
Felülről |
|
Bottom |
Alulról |
|
Size |
Méret |
|
Stb…. |
…… |