logging-log4net-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Katz" <jk...@helicosbio.com>
Subject RE: rich text box and scroll
Date Tue, 24 Jun 2008 13:10:40 GMT
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.
 
HTH,
 
Jim
 
 

________________________________

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?

 

Thanks

 

Graham

 


Mime
View raw message