
string all = Text;
string[] lines = allSplite(new string[3]{"\r", "\n", "\r\n"});
就可以获得所有行了
RichTextBoxtextlength 内容长度
RichTextBoxtextsubstring(5,RichTextBoxtextlength-1-5) //第一个参数是5或者4,第二个可能不需要减1你自己试试就OK
在窗体上加入控件command1,RichTextBox1,然后复制下面代码,修改文件路径,运行后点击command1,即可看到结果。
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const EM_GETLINECOUNT = &HBA
'获取翻页次数
Function GetHs()
Dim ctlNew As PictureBox, Hs As Long, t As Long
Set ctlNew = MeControlsAdd("VBPictureBox", "picNew", Me)
Hs = SendMessage(RichTextBox1hwnd, EM_GETLINECOUNT, 0, 0)
t = Int((RichTextBox1Height) / (ctlNewTextHeight("A") + 65))
GetHs = Hs \ t + 1
ControlsRemove ctlNew
End Function
Private Sub Command1_Click()
MsgBox "使用Pagedown翻页,需要" & GetHs & "次才能到文章结尾。"
End Sub
Private Sub Form_Load()
RichTextBox1FileName = "c:\1txt" '请修改
End Sub
首先要说明下:本人看到这个问题感到十分激动,因为好久没见到这么奇奇怪怪的问题了。
首先要在初始化时设置: thisrichTextBox1WordWrap = false;
/// <summary>
/// GetRowCount
/// </summary>
/// <param name="text">thisrichtextboxtext</param>
/// <param name="isRemoveEmptyEntries">isRemoveEmptyEntries</param>
/// <returns></returns>
public int GetRowCount(string text, bool isRemoveEmptyEntries)
{
if (text == null) {
return 0;
}
else if (text == ""){
return isRemoveEmptyEntries 0 : 1;
}
else {
return textSplit(new string[] { "\n" }, isRemoveEmptyEntries
StringSplitOptionsRemoveEmptyEntries
: StringSplitOptionsNone)Length;
}
}
定义个string str="";
读取数据库数据并放到string里,string sjksj1="数据库数据"
str="当您经营累计的利润留存为正数时,系统将按国家规定计算当年税前利润(为正数时)的"+sjksj1+"%作为所得税,税金在下一年执行“支付税金项”时,系统自动扣除。";
richTextBoxText=str;//搞定
在RTF中汉字是以两个十六进制的字节形式表示的,比如“学生”两字就表示为
\'d1\'a7\'c9\'fa,其中十六进制的d1a7转换为10进制整型变量值为-11865,也就是“学”字的ascii码。因此要查询“学生”这两个字,需要先将“学生”一词字转换成\'d1\'a7\'c9\'fa这样的形式,给你个函数吧
Function StringToHex(sStr As String) As String
Dim sTemp As String
Dim sChar As String 1
For i = 1 To Len(sStr)
sChar = Mid(sStr, i, 1) '依次取出原始字符串中每个字符
If Asc(sChar) < 128 And Asc(sChar) > 0 Then '如果是英文字母,数字或半角符号,不进行任何 *** 作
sTemp = sTemp & sChar
Else '如果是其他字符,则转换为\'十六进制的形式
sTemp = sTemp & "\'" & Left(Hex(Asc(sChar)), 2) & "\'" & Right(Hex(Asc(sChar)), 2)
End If
Next
StringToHex = sTemp
End Function
另外,如果richtextbox中“学生”两个字在一起,但两个字的格式(字体、颜色)等,那么在RTF中这两个字就不在一起了,解决的办法可能只有在数据库中另行建立一个字段,用来保存纯文本的内容,查询时根据此字段来判断
以上就是关于C# richtextbox中有多行文本怎么获取其中一行文本全部的内容,包括:C# richtextbox中有多行文本怎么获取其中一行文本、wpf中的RichTextBox 怎么获取内容长度,怎么截掉内容中的前5个字符、vb中怎样计算或获取richtextbox的文章页数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)