HyperLinks in Oberfläche setzen

mslap

Mitglied
Hallo,

ich entwickle zur Zeit ein Programm das automatisch Tests durchführt und für jeden Test ein Log File erzeugt. Ich will dann im Programm zu jedem Test in einem Log fenster einen Link zu jedem Testlogfile setzen (Wie hyperlink, nur eben zu nem log file).
Dazu habe ich bereits 2 Methoden ausprobiert:

1. Benutze Richtextbox und mit DetectUrls = true, um urls klickfähig zu machen. Dies ist aber nicht wirklich praktikabel, da alle logfiles normaler weise in 3 unterordnern liegen und die Links (mit file://C:\......) elendig lange sind und eher unschön.

2. Benutze Linklabel, allerdings habe ich dabei ein Limit entdeckt, man kann nur 31 Links zum LinkLabel adden, bei einem mehr gibt es ne OverFlow Exception. Natürlich könnte ich jetzt endlos Linklabels adden, um das zu umgehen, aber bei einer Variablen Anzahl von Test wenig sinnvoll (Weil man immer igendwann an seine Grenzen stößt). Ich habe mich schon zu diesem Problem schlau gemacht, doch leider keinen Workarround gefunden, nur kleine Tips, aber mit denen kann ich leider nichts anfangen.
http://discuss.develop.com/archives/wa.exe?A2=ind0406b&L=vbdotnet&T=0&O=D&F=&S=&P=4571

Also 3 Fragen:

1. Kann man dei Linkanzeige in der RichTextBox irgendwie "verschönern"?
2. Kennt jemand einen Workarround für das LinkLabel Problem?
3. Gibt es noch eine weitere Methode HyperLinks in eine Windows Form einzubauen?

Für jegliche Hilfe wäre ich sehr dankebar.

Grüße Markus
 
Erstelle eine ListBox oder eine ListView in der du alle LogFiles anzeigst (in der ListView kannst du diese auch noch schön kategorisieren). Bei Doppelklick auf einen Eintrag ladest du das dahinterliegende Logfile einfach in eine RichTextBox.

Was haltest davon?
 
Hm, das hört sich interessant an, werd ich gleich mal rumspielen, kann man dann ja auch sicher per doppel klick extern öffnen lassen denke ich.

Erst schon mal vielen dank
 
Super hat wunderbar funktioniert (Nachdem ich in managed C++ endlich ein Object Array erstellen konnte und mit Delegates klar gekommen bin), danke für den tollen Tip.
 
Zurück