请问 C#中怎么让richtextBox添加的一行显示在第一行??

请问 C#中怎么让richtextBox添加的一行显示在第一行??,第1张

可以这样写代码:

string newStrToAdd = "string to add"

yourRichtextBox.Text = newStrToAdd + Environment.NewLine + yourRichtextBox.Text

就可以,让新添加的内容,单独显示一行,而且是第一行了。

利用VS2005编写文本编辑器,可以在TextBox、RichTextBox里实现语法高亮的。下面是使用RichTextBox控件实现语法高亮的方法,TextBox控件的实现方法和此类似。

1 rich.Select(0,1)

2 rich.SelectionFont = new Font("宋体", 12, (FontStyle.Regular))

3 rich.SelectionColor = Color.Blue

意思是,先选择第一个字母,按上面的设置,选择到了数字‘1’,然后设置这个字的字体大小,再设置字的颜色。

如果对关键字进行处理(这里只处理光标向后流动的情况)

首先添加输入事件

1rich.KeyDown += new KeyEventHandler(rich_KeyDown) //这一行添加到Form1_Load中

2

3 void rich_KeyDown(object sender, KeyEventArgs e)

4 {

5 //throw new Exception("The method or operation is not implemented.")

6 }

建立关键字

1 public static List<string>AllClass()

2 {

3 List<string>list = new List<string>()

4 list.Add("function")

5 list.Add("return")

6 list.Add("class")

7 list.Add("new")

8 list.Add("extends")

9 list.Add("var")

10 return list

11 }

当KeyDown事件发生时,向前查找

1 //返回搜索字符

2 public static string GetLastWord(string str,int i)

3 {

4 string x = str

5 Regex reg= new Regex(@"\s+[a-z]+\s*",RegexOptions.RightToLeft)

6 x = reg.Match(x).Value

7

8 Regex reg2 = new Regex(@"\s")

9 x = reg2.Replace(x, "")

10 return s

11 }

1 void rich_KeyDown(object sender, KeyEventArgs e)

2 {

3 RichTextBox rich = (RichTextBox)sender

4 //throw new Exception("The method or operation is not implemented.")

5 string s = GetLastWord(rich.Text, rich.SelectionStart)

6

7 if (AllClass().IndexOf(s) >-1)

8 {

9 MySelect(rich, rich.SelectionStart, s, Color.CadetBlue, true)

10 }

11 }

1 //设定颜色

2 public static void MySelect(System.Windows.Forms.RichTextBox tb, int i, string s, Color c,bool font)

3 {

4 tb.Select(i - s.Length, s.Length)

5 tb.SelectionColor = c

//是否改变字体

6 if(font)

7 tb.SelectionFont = new Font("宋体", 12, (FontStyle.Bold))

8 else

9 tb.SelectionFont = new Font("宋体", 12, (FontStyle.Regular))

//以下是把光标放到原来位置,并把光标后输入的文字重置

10 tb.Select(i,0)

11 tb.SelectionFont = new Font("宋体", 12, (FontStyle.Regular))

12 tb.SelectionColor = Color.Black

13 }

这样就实现了RichTextBox控件的语法高亮。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/snzy521/archive/2010/07/01/5706606.aspx

richTextBox1.Text = richTextBox1.Text.Replace(",", "," + System.Environment.NewLine).Replace("。", "。" + System.Environment.NewLine)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11429107.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存