logging-log4net-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Walsh <graham.walsh-prestata...@calyon.com>
Subject RE: rich text box and scroll
Date Tue, 01 Jul 2008 07:13:13 GMT
thanks James,
I'll code that up. Helped a lot :)


From: James Katz [mailto:jkatz@helicosbio.com] 
Sent: Tuesday, June 24, 2008 3:11 PM
To: Log4NET User
Subject: RE: rich text box and scroll

You will want to make the text of the RTB follow the tail of the log.
In-core storage of text is VERY co$tly. If you're using a C# or Java
RTB, you assign its Text property the whole string you want.  You
generally can't just add the newest line to the existing text.  Also the
+= implementation for strings in those 2 languages are wicked expensive.
So given that you will have to pause and recalculate the contents of the
text box when some number 'n' of new lines comes in, you will have to
store the total lines somewhere else anyway.  but that's a side issue.
 you ought to have the RTB enabled, but explicitly trap the MouseDown
event in the box.  When you do that, you can start the selection process
(handling the mousemove and mouse up events).  Since most window
controls are single threaded, that in and of itself will stop the
process of appending text to the window, until you've finished
processing the mouseup event.
Since you're capturing a mousedown event, you control all the
interaction - all you have to do is disregard key events to keep people
from typing into the text - the only allowable action is to mousemove
until mouseup.  That way, you can keep the RTB enabled.


From: Graham Walsh [mailto:graham.walsh-prestataire@calyon.com] 
Sent: Tuesday, June 24, 2008 3:13 AM
To: Log4NET User
Subject: rich text box and scroll

Hi Hi,


Whats the simplest way to make the content of the rich text box
"selectable". We have an awful lot of log output going to that window,
all of which is needed. Ideally I'd like to freeze the window, select
the text and have the RTPappender continue its writing. By default I'd
temporarily set the RTB enabled == false, select the text and then set
it back to true but that seems a bit luggish.


Any tips?






  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message