thanks James, I'll code that up. Helped a lot :) G ________________________________
From: James Katz [mailto:[EMAIL PROTECTED] 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. HTH, Jim ________________________________ From: Graham Walsh [mailto:[EMAIL PROTECTED] 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
Ce message et ses pièces jointes (le "message") est destiné à l'usage exclusif de son destinataire. Si vous recevez ce message par erreur, merci d'en aviser immédiatement l'expéditeur et de le détruire ensuite. Le présent message pouvant être altéré à notre insu, CALYON Crédit Agricole CIB ne peut pas être engagé par son contenu. Tous droits réservés. This message and/or any attachments (the "message") is intended for the sole use of its addressee. If you are not the addressee, please immediately notify the sender and then destroy the message. As this message and/or any attachments may have been altered without our knowledge, its content is not legally binding on CALYON Crédit Agricole CIB. All rights reserved.
