public TextBoxBaseAppender(ThreadSafeTextBoxWrapper textboxWrapper, ILayout layout)
        {
            if (textboxWrapper == null) throw new ArgumentNullException("textboxWrapper");
            controlWrapper = textboxWrapper;
            isRichTextBox = (controlWrapper is ThreadSafeRichTextBoxWrapper);

            base.Layout = layout ?? new PatternLayout(defaultLayout);
        }
 public TextBoxBaseAppender(ThreadSafeTextBoxWrapper textboxWrapper) :
     this(textboxWrapper, new PatternLayout(defaultLayout)) { }
 /// <summary>
 /// Adds the log box.
 /// </summary>
 /// <param name="textboxWrapper">The textbox wrapper.</param>
 /// <returns></returns>
 public ITextBoxAppender AddLogBox(ThreadSafeTextBoxWrapper textboxWrapper)
 {
     return AddLogBox(textboxWrapper, string.Empty);
 }
        private void AppendNormal(ThreadSafeTextBoxWrapper textboxWrapper, LoggingEvent loggingEvent)
        {
            string text = base.RenderLoggingEvent(loggingEvent);

            textboxWrapper.AppendText(text);
            textboxWrapper.ScrollToCaret();
        }
        public ITextBoxAppender AddLogBox(ThreadSafeTextBoxWrapper textboxWrapper, string patternLayout)
        {
            if (textboxWrapper == null) throw new ArgumentNullException("textboxWrapper");
            
            if (CurrentLog != null)
            {
                var appenderAttachable = CurrentLog.Logger as IAppenderAttachable;
                if (appenderAttachable != null)
                {
                    TextBoxBaseAppender appender = null;
                    if (string.IsNullOrEmpty(patternLayout))
                        appender = new TextBoxBaseAppender(textboxWrapper);
                    else appender = new TextBoxBaseAppender(textboxWrapper, 
                        new global::log4net.Layout.PatternLayout(patternLayout));

                    appender.LogThreshold = LogLevel.All;
                    appenderAttachable.AddAppender(appender);
                    return appender;
                }
            }

            return null;
        }