如何按richtextbox的行读取里面的内容并把内容换色(最好有代码!) richTextBox1.Lines[0]这个方法我知道。。可是怎么在richtextbox已有的内容中选出,然后逐行换色而不是在原有的内容下面添加!本来是想把内容一个个读入数组中按字数换行,可是在richtextbox中自动拉伸时,一行内容会莫明奇妙的分成两行,当读的时候虽然是取字数,但是就不在一行了,所以有没有办法,希望各位高手帮忙,最好有代码,不要英文网站,因为我已经有了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的按字取的代码! string str;char[] s; string line, lines; int i = 0, j = 1; private void button1_Click(object sender, EventArgs e) { StringBuilder builder1 = new StringBuilder(""); using (StreamReader sr = new StreamReader(@"E:\test1\test1\bin\Debug\test.txt", Encoding.GetEncoding("GB18030"))) { while ((line = sr.ReadLine()) != null) { builder1.Append(line + "\n"); str = builder1.ToString(); } Regex r = new Regex("[^0-9.-]"); bool result = r.IsMatch(str); if (result == true) { str = str.Replace("0", "0"); str = str.Replace("1", "1"); str = str.Replace("2", "2"); str = str.Replace("3", "3"); str = str.Replace("4", "4"); str = str.Replace("5", "5"); str = str.Replace("6", "6"); str = str.Replace("7", "7"); str = str.Replace("8", "8"); str = str.Replace("9", "9"); str = str.Replace("\"", "“"); } string[] a1 = str.Split(new char[] { ' ', '\r', '\n' }); foreach (string aa in a1) { lines += aa; } s = lines.ToCharArray(); foreach (char a in s) { if (i != 33 * j) { richTextBox1.AppendText(a.ToString()); i++; } else { richTextBox1.AppendText("\n"+a.ToString()); i++; j++; } } } } to 一行内容会莫明奇妙的分成两行,当读的时候虽然是取字数,但是就不在一行了设置richtextbox的wordwrap属性为false即可。 这样你就可以按照richTextBox1.Lines这个方法进行操作。 不好意思,虽然wordwrap改成false,但是点button2拉伸richtextbox时,本来读入的换行的内容会自动变成一条,后面的内容因为richtextbox不换行就看不到了!请问Knight94(愚翁)是不是我的代码有问题? 而且奇怪的是因为我要的每行的字数不一样。。每点一次。。richtextbox里面的内容都不一样,有些会变成两段,有些一行会少一两个字!逐行读下去会变得不是行而是两个段! 你可以如下读取数据string strContent = sr.ReadToEnd();yourRichBox.Text = strContent; 不行啊,我现在是写了一个方法fileload()来读取文件内容在richtextbox里显示,在form_load中调用这个方法, 当我点击的时候还需要调用fileload(),所以点击后文字就不会出现在form_load中的那样一行十个那样,排版就渣掉,比如第一行六个,然后直接换行。后面的我就没看了! 感觉你的问题在于richtextbox的前期数据处理有问题,并不是后期显示的问题你最好在适当的位置加上“\r\n”来进行换行。 怎么判断文本框中输入的是String 还是Int 型的数据? 关于remoting服务端的显示问题 JAVA里调用C#写的COM组件,有报酬! 用C#停止远程系统服务的问题 急,急,急,请教各位!怎么实现b/s页面无闪烁定时刷新功能,谢谢! C#正则表达式 有没有人用SQL Server Management Studio Express的 50分求一个SQL语句?高手请进 微软定于2005年1月12日推出Whidbey和.NET Framework 2.0 学习C#有一段时间了,小弟有两件事不明白,求教。 请高手帮一下忙! --如何用C#程序执行一个“系统-开始-运行”里面的命令--
string str;char[] s; string line, lines; int i = 0, j = 1; private void button1_Click(object sender, EventArgs e)
{
StringBuilder builder1 = new StringBuilder("");
using (StreamReader sr = new StreamReader(@"E:\test1\test1\bin\Debug\test.txt", Encoding.GetEncoding("GB18030")))
{
while ((line = sr.ReadLine()) != null)
{
builder1.Append(line + "\n");
str = builder1.ToString();
}
Regex r = new Regex("[^0-9.-]");
bool result = r.IsMatch(str);
if (result == true)
{
str = str.Replace("0", "0");
str = str.Replace("1", "1");
str = str.Replace("2", "2");
str = str.Replace("3", "3");
str = str.Replace("4", "4");
str = str.Replace("5", "5");
str = str.Replace("6", "6");
str = str.Replace("7", "7");
str = str.Replace("8", "8");
str = str.Replace("9", "9");
str = str.Replace("\"", "“");
}
string[] a1 = str.Split(new char[] { ' ', '\r', '\n' });
foreach (string aa in a1)
{
lines += aa;
}
s = lines.ToCharArray();
foreach (char a in s)
{
if (i != 33 * j)
{
richTextBox1.AppendText(a.ToString());
i++;
}
else
{
richTextBox1.AppendText("\n"+a.ToString());
i++;
j++;
}
}
}
}
string strContent = sr.ReadToEnd();
yourRichBox.Text = strContent;