Beispiel #1
0
        public static void RtbWrite_Limit(RichTextBox rtb, string str)
        {
            int line, tmpStart, tmpEnd;

            if (rtb == null)
            {
                return;
            }

            if (rtb.InvokeRequired)
            {
                RtbWriteCB handle = new RtbWriteCB(RtbWrite_Limit);
                rtb.Invoke(handle, rtb, str);
            }
            else
            {
                line = rtb.Lines.Length;
                if (line > 0x400)
                {
                    tmpStart = rtb.GetFirstCharIndexFromLine(0);     // 第一行第一個字符的索引
                    tmpEnd   = rtb.GetFirstCharIndexFromLine(0x200); //第n/2行第一個字符的索引
                    rtb.Text = rtb.Text.Remove(tmpStart, tmpEnd);
                }
                rtb.AppendText(str);
            }
        }
Beispiel #2
0
 public static void RtbWrite(RichTextBox rtb, String format, params object[] args)
 {
     if (rtb == null)
     {
         return;
     }
     if (rtb.InvokeRequired)
     {
         RtbWriteCB handle = new RtbWriteCB(RtbWrite);
         rtb.Invoke(handle, rtb, String.Format(format, args));
     }
     else
     {
         rtb.AppendText(String.Format(format, args));
     }
 }
Beispiel #3
0
 public static void RtbWrite(RichTextBox rtb, string str)
 {
     if (rtb == null)
     {
         return;
     }
     if (rtb.InvokeRequired)
     {
         RtbWriteCB handle = new RtbWriteCB(RtbWrite);
         rtb.Invoke(handle, rtb, str);
     }
     else
     {
         rtb.AppendText(str);
     }
 }