Avatar billede mutantboy Nybegynder
02. oktober 2003 - 14:51 Der er 23 kommentarer og
1 løsning

richtextboks og html

jeg har et lille problem.

jeg vil gerne have at der er forskellige fontstørrelser i min richTextbox

jeg skriver:

richTextbox.Text = "<H1>overskrift</H1> normal";

Teksten skulle gerne være formateret så "overskrift" er skrevet med stort og "normal" er normal størrelse.

Det virker bare ikke. Hvad gør jeg forkert???
Avatar billede nielslbeck Nybegynder
02. oktober 2003 - 15:44 #1
En RichTextbox er ikke en HTML-viewer... Du kan derfor ikke bruge den til at vise HTML i - i hvert fald ikke uden at dine tags bliver vist - din tekst bliver med andre ord ikke formateret i forhold til dine tags...

Naar jeg om et par timer er hjemme igen, kan jeg sende dig et eksempel paa brugen af RichTextbox...
Avatar billede odegaard Nybegynder
02. oktober 2003 - 21:24 #2
Du kunne jo også bare lave en editable <div> hvor du sætter det ind i. Det er jo immervæk det en RichTextBox ender med at blive til.
Avatar billede mutantboy Nybegynder
02. oktober 2003 - 21:40 #3
ja det ville være rart nielsbeck...

er der ikke en viewer i C# så?
eller en måde at vise den fortolkede html tekst i en frame så?

Det kan man jo i java's tekstarea og textboxe ved jeg.

Det er fordi jeg har et objekt hvore jeg gerne vi lhave vist attributterne så det ser ordentligt ud for brugeren.
Avatar billede mutantboy Nybegynder
02. oktober 2003 - 21:41 #4
Odegaard jeg forstår ikke helt hvad du mener, men du må meget gerne forklare mere om det.
evt. hvis du kender nogle links eller noget?
Avatar billede odegaard Nybegynder
02. oktober 2003 - 22:09 #5
Prøv at finde et site der bruger det. Vælg derefter "Show source" og se hvad der faktisk står i HTML'en.
Avatar billede nielslbeck Nybegynder
02. oktober 2003 - 22:51 #6
odegaard>> mutantboy vil ikke lave en webside, men vise noget formateret tekst inde i en Windows-form :-)


Hvis det du vil bare er at kunne vise HTML, er det letteste nok at højreklikke i Toolbox'en i VS.NET (går ud fra du benytter VS.NET) og vælge Add/Remove Items. Klik så på fanebladet COM Components. Find så Microsoft Web Browser i listen, og sæt et hak ved den, tryk derefter OK. Du kan derefter tilføje en webbrowser til din form. Desværre er der vist ikke andre muligheder for at vise HTML i den, end at give den en URL :-(

Hvis du vil benytte en RichTextBox, kan du f.eks. skifte farve sådan:

myRichTextbox.SelectionColor = Color.Red;
myRichTextbox.AppendText("rød tekst");

"rød tekst" vil så stå med rødt. Hvis du vil ændre farve eller skrifttype på noget tekst som allerede er tilføjet, skal du først lave en selection på den tekst du ønsker at ændre. Men desværre har du ikke mulighed for at lave alle de sjove ting i en RichTextbox som du kan med HTML :-(
Avatar billede odegaard Nybegynder
02. oktober 2003 - 23:20 #7
nielsbeck: DUH! min fejl :-)
Avatar billede mutantboy Nybegynder
03. oktober 2003 - 08:15 #8
Okay, nielsbeck dit svar er fint. Så du skal have tak. Det er da lidt underligt at de ikke har html viewing som javas text components har. Nu når C# er så integreret med altmuligt som de er :D
Avatar billede mutantboy Nybegynder
03. oktober 2003 - 08:32 #9
er det LocationURL jeg skal anvende der så?
Avatar billede nielslbeck Nybegynder
03. oktober 2003 - 08:43 #10
Ja, du har fuldstændig ret i, at det virker lidt mystisk!

Det er så ikke helt let at bruge den ActiveX som stiller browseren til rådighed. Men den letteste måde at få vist en URL i den er:

int zero = 0;
object oZero = zero;
string emptyString = "";
object oEmptyString = emptyString;
WebBrowser.Navigate("http://eksperten.dk/", ref oZero, ref oEmptyString, ref oEmptyString, ref oEmptyString);
Avatar billede mutantboy Nybegynder
03. oktober 2003 - 09:17 #11
Jeg vi lgerne have fat i en lokal html fil: test.html.

int zero = 0;
            object oZero = zero;
            string emptyString = "";
            object oEmptyString = emptyString;
            axWebBrowser1.Navigate("c://test.html", ref oZero, ref oEmptyString, ref oEmptyString, ref oEmptyString);

men det vil ikke du?
Avatar billede mutantboy Nybegynder
03. oktober 2003 - 09:22 #12
int zero = 0;
            object oZero = zero;
            string emptyString = "";
            object oEmptyString = emptyString;
            axWebBrowser1.Navigate("C:\\test.html", ref oZero, ref oEmptyString, ref oEmptyString, ref oEmptyString);

Det virkede jeg skulle bare bruge \\ i stedet for // :D

Mange tak Nielsbeck
Avatar billede nielslbeck Nybegynder
03. oktober 2003 - 09:40 #13
:-)
Avatar billede mutantboy Nybegynder
03. oktober 2003 - 14:43 #14
Nu når test.html ligger sammen med apl.exe filen skal jeg så ikke skrive

axWebBrowser1.Navigate("\\test.html", re........

i mit kode for at få fat i filen uanset hvor jeg installere programmet?

Det virker ikke lige...
Avatar billede nielslbeck Nybegynder
03. oktober 2003 - 21:38 #15
Det skal du heller ikke... \test.html betyder jo f.eks. c:\test.html uanset hvor test.html ligger på drev c. Skriv i stedet for blot test.html - så vil den loade test.html fra det bibliotek hvorfra du loader programmet.
Avatar billede mutantboy Nybegynder
04. oktober 2003 - 10:45 #16
okay tak skal du have...

Det minder ellers meget om java...
Avatar billede mutantboy Nybegynder
04. oktober 2003 - 10:57 #17
hvis jeg bare skriver test.html, kan programmet ikke finde filen, men istedet kommer der den der "handlingen blev annulleret" i browseren. Så det virker ikke helt selvok filen ligger sammel med programmets exe fil.

Jeg skriver det her.


int zero = 0;
            object oZero = zero;
            string emptyString = "";
            object oEmptyString = emptyString;           
            axWebBrowser1.Navigate("godkendDagsrapport.html", ref oZero, ref oEmptyString, ref oEmptyString, ref oEmptyString);
Avatar billede nielslbeck Nybegynder
04. oktober 2003 - 11:16 #18
Okay, så skal du bruge:

Application.StartupPath + @"\godkendDagsrapport.html"

som stien til filen. Læg her mærke til, at StartupPath giver stien til .exe-filen - dvs at i VS.NET vil programmet køres fra bin\debug\ når du debugger - dermed skal .html-filen også ligger der!
Avatar billede mutantboy Nybegynder
04. oktober 2003 - 11:28 #19
okay det prøver jeg.

Du skal have mange tak for din tålmodighed med mig.
Avatar billede nielslbeck Nybegynder
04. oktober 2003 - 11:28 #20
:-)
Avatar billede mutantboy Nybegynder
04. oktober 2003 - 11:32 #21
altså sådan her ikke?

axWebBrowser1.Navigate(Application.StartupPath + @"\godkendDagsrapport.html", ref oZero, ref oEmptyString, ref oEmptyString, ref oEmptyString);
Avatar billede nielslbeck Nybegynder
04. oktober 2003 - 11:34 #22
Yeps, det skulle gerne virke - hvis godkendDagsrapport.html ligger i bin\debug (når du debugger) og bin\release (når du har compilet en releaseudgave).
Avatar billede mutantboy Nybegynder
04. oktober 2003 - 11:36 #23
hold kæft hvor pinligt!!!

I metoden hvor jeg genererer html filen, gemmer jeg den som godkendDagsrapport.html.html

Men det virker i hvert fald nu :)
Avatar billede nielslbeck Nybegynder
04. oktober 2003 - 11:37 #24
Sådan kan det jo gå :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester