Code Bye

richtextbox怎么换到上一行

换一行很容易,怎么就没换到上一行,百度了半天一点有用的都没有,求各位老师解答下,谢谢

#1

什么叫换到上一行?

#2

你到底是想设置光标的位置
还是想在文本的最前面插入一行字符串??

#3

你找到一个叫键盘的东西,点一下上面一个图标为上指箭头的按钮

#4

回复2楼:

就是想要前面插数据,因为做了一个换行字符超过8个就换行的处理,后面再插入数据的时候就在下面插入,想在第二行继续插入。描述不清楚,我上图。我就是想把光标在回到richtextbox的初始位置就可以,要求不高吧

#5

就这样

#6

其实是能够处理的,但是我不想告诉你这个办法
因为根本就不算是办法.麻烦的要死
你需要的其实是个表格控件,不要把文本框当表格控件来用
DataGridView用起来不比这个简单的多吗

#7

回复6楼:

我之前就用的DataGridView实现的,可是我们主任非让我用richtextbox来获取MDB数据库的内容。这几天一直催我完成,如果是网页排版的话我还会dreamweaver,但是这richtextbox实在是太难弄了。有方法务必告诉我,麻烦也要上啊。比如说换下一行用的.newline,怎么回到上一行就没方法啊

#8

richTextBox1.SelectionStart是设置光标的起始位置
SelectionLength是设置选中的字符数
不过如此一来,你必须自己计算你要选中的地方之前到底有多少个字符
建议还是后台维护一个DataTable,内容按表格形式排列好
然后用DataTable里的数据循环拼接个字符串给richTextBox的文本
每次都直接刷新整个richTextBox,而不是在里面直接拼接内容
50分

#9

用richtextbox来获取MDB数据库

如果仅仅是读数据库
你应该按行循环,一行一行的写入控件里就好了啊

为啥要先把某一列先弄进去,再弄别的列?这多麻烦

#10

回复9楼:

上面的方法之前试过了,但是并没有回到设置的地方重新开始写数据;之所以没有按行循环是因为个别字段特别长,所以要进行换行排版处理。

你看,并没有回到第一行的位置从新写入

#11

AppendText()
本来就是在最后追加文字,而不是在中间插入文字啊
这跟你光标在哪里是无关的

建议你还是在后台做个DataTable,MDB数据读出来放DataTable里
然后再循环DataTable写入文本框
就不要老颠三倒四的,先写后面再写前面的了

#12

回复11楼:

不过你之前说的一句话我受到启发了,就是一行一行的写,写完所有字段就换行。把长字段用数组的方式分成一段一段的,然后循环再在下一行遍历写入所有字段,就可以实现了

#13

回复3楼:

就是这样,模拟这个按键即可,代码如下:
SendKeys.Send(“{UP}”);
如果想定位到行的末尾,再加一个:
SendKeys.Send(“{^RIGHT}”);
代码大概是这样写,细节可以查一下相关资料。

#14

回复13楼:

定位到行的末尾估计是:SendKeys.SendWait(“^{RIGHT}”);


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明richtextbox怎么换到上一行