wpf richtextbox(wpf中如何让richtextbox的滚动条显示)
本文目录
- wpf中如何让richtextbox的滚动条显示
- WPF RichTextBox文本的问题(好的绝对加分)
- C#WPF RichTextBox 怎么换行
- C# wpf RichTextBox 多行显示数据
- WPF 中 RichTextBox 关键词着色
- wpf中的richTextBox怎么改变关键字的颜色
wpf中如何让richtextbox的滚动条显示
VerticalScrollBarVisibility="Visible" 上下的滚动条《RichTextBox HorizontalAlignment="Left" Margin="186,172,0,218.685" Width="158" VerticalScrollBarVisibility="Visible"》 《FlowDocument》 《Paragraph》《Run Text="RichTextBox"/》《/Paragraph》 《/FlowDocument》《/RichTextBox》
WPF RichTextBox文本的问题(好的绝对加分)
RichTextBox只是一个控件,它所承载的内容由其Document属性来呈现.Document是一个FlowDocument类型.FlowDocument是放置块内容的容器(Blocks),这里的块是指非行内的元素(这个我也不知道怎么用中文解释,如果你知道html的话,它们就是类似于DIV标签,而不能是类似SPAN标签的元素).可用的块级元素只有几个,自己查阅一下msdn,块级元素可以再包含块级元素或行级---Inlinederived元素).所以你可以像下面一样将你的String放到Document中:myRTB.Document=newFlowDocument(newParagraph(newRun(myString)));由于FlowDocument是基于块级元素的,所以它的内容可以由它的Blocks属性设定,上面一行的代码拆解就是:FlowDocumentdoc=newFlowDocument();Paragraphp=newParagraph();//Paragraph类似于html的P标签Runr=newRun(myString);//Run是一个Inline的标签p.Inlines.Add(r);doc.Blocks.Add(p);myRTB.Document=doc;重点:初始RichTextBox的Document,Document的Blocks可以随意添加,修改,删除内容等。块级元素(Block-derivedelements)还有其它的,除了Paragraph外。-----------具体参考可以查阅关于WPF中Documents部分的章节。
C#WPF RichTextBox 怎么换行
您好,是这样的:Private Declare Function SendMessage1 Lib "user32" Alias "SendMessageA" _ (ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Private Declare Function SendMessage2 Lib "user32" Alias "SendMessageA" _ (ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Integer) As Long ’’ .... Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Any) As LongAny就是指你在调用SendMessage 函数时,lParam 参数既可以传int,也可以传long,short等等其它类型的参数相当于你把上面的SendMessage1和SendMessage2 等等函数简化为只需要写一个SendMessage 就可以。
C# wpf RichTextBox 多行显示数据
richTextBox1.AppendText("第一行\n " );richTextBox1.AppendText("第二行\n " );richTextBox1.AppendText("第三行\n " );
WPF 中 RichTextBox 关键词着色
用户输入时加红色标记,就需要再每次按键都判段,下面这段代码倒是实现了,但是效率很低,你可以试着优化下 private void richTextBox1_KeyUp(object sender, KeyEventArgs e) { //获取richTextBox文本内容 TextRange tr1 = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd); tr1 .ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Black); string content = tr1.Text; //正则表达式,获取匹配()的子字符串集信息 MatchCollection mc = Regex.Matches(content, @"\(|\)"); //遍历每个匹配子字符串 foreach (Match m in mc) { if (m.Success) { //获取子字符串起始点 TextPointer txStart = GetPointerFromCharOffset(m.Index, richTextBox1.Document.ContentStart, richTextBox1.Document); //获取子字符串结束 TextPointer txEnd = GetPointerFromCharOffset(m.Index + m.Length, richTextBox1.Document.ContentStart, richTextBox1.Document); //获取子字符串位置 TextRange tr = new TextRange(txStart, txEnd); //应用样式 tr.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red); } } } //根据匹配字符串的索引获取TextPointer public TextPointer GetPointerFromCharOffset(Int32 charOffset, TextPointer startPointer, FlowDocument document) { TextPointer navigator = startPointer; if (charOffset == 0) { return navigator; } TextPointer nextPointer = navigator; Int32 counter = 0; while (nextPointer != null && counter 《= charOffset) { if (nextPointer.CompareTo(document.ContentEnd) == 0) { return nextPointer; } nextPointer = nextPointer.GetNextInsertionPosition(LogicalDirection.Forward); counter++; } return nextPointer; }
wpf中的richTextBox怎么改变关键字的颜色
可以直接设置richTextBox的选中时的颜色属性: richTextBox1.SelectionBrush = Brushes.Blue; richTextBox1.SelectionOpacity = 0.5;也可以在richTextBox的SelectionChanged事件中动态改变相关属性。
更多文章:
网易有道词典准确吗?网易有道信息技术(北京)有限公司电话是多少
2024年5月7日 21:19
qq旋风官方下载(腾讯QQ旋风网页版离线下载官方网站首页 qq旋风离线下载帮助)
2024年7月17日 00:10
签名设计软件免费下载(可以设计签名,还能设置屏保,有什么软件)
2024年7月2日 03:40
暴走漫画制作器app(怎么把一张照片中的人脸改成暴走漫画的脸)
2024年8月7日 17:25
备份与恢复软件下载(有没有免费的恢复手机上被误删照片的软件呢)
2024年9月29日 18:10