标签: richtextbox

如何在C#中访问usercontrol的属性

我用一个文本框和一个richtextbox创建了一个C#usercontrol.

如何从usercontrol外部访问richtextbox的属性.

例如..如果我把它放在一个表单中,我怎么能使用richtextbox的文本属性???

谢谢

c# user-controls properties richtextbox

20
推荐指数
1
解决办法
4万
查看次数

WPF RichTextBox附加彩色文本

我正在使用该RichTextBox.AppendText函数向我添加一个字符串RichTextBox.我想用特定的颜色设置它.我怎样才能做到这一点?

c# wpf colors richtextbox

20
推荐指数
3
解决办法
2万
查看次数

在鼠标悬停文本时显示工具提示

当鼠标悬停在我的自定义富编辑控件中的链接上时,我想显示工具提示.请考虑以下文本:

我们都晚上睡觉.

就我而言,睡眠这个词就是一个链接.

当用户在链接下移动鼠标时,在这种情况下"睡眠",我想显示链接的工具提示.

以下是我的想法,但他们没有工作

1)捕获OnMouseHover

if(this.Cursor == Cursors.Hand)
   tooltip.Show(textbox,"My tooltip");
else
   tooltip.Hide(textbox);
Run Code Online (Sandbox Code Playgroud)

但这没有用.

UPDATE

提到的链接不是 URL,即这些是自定义链接,因此Regex在这里不会有太多帮助,它可以是任何文本.用户可以选择创建链接.

虽然我没有尝试过GetPosition方法,但我认为在设计和维护方面它不会那么优雅.

让我说我在我的richedit框中有以下行

我们晚上睡觉.但蝙蝠保持清醒.蟑螂在夜间变得活跃.

在上面的句子中,当鼠标悬停在它们上面时,我想要三个不同的工具提示.

sleep -> Human beings
awake -> Nightwatchman here
active -> My day begins
Run Code Online (Sandbox Code Playgroud)

我陷入困境OnMouseMove如下:

使用Messagebox

OnMouseMove( )
{

   // check to see if the cursor is over a link
   // though this is not the correct approach, I am worried why does not a …
Run Code Online (Sandbox Code Playgroud)

.net c# tooltip richtextbox winforms

19
推荐指数
4
解决办法
14万
查看次数

19
推荐指数
2
解决办法
3万
查看次数

在WPF中创建吉他和弦编辑器(来自RichTextBox?)

我正在WPF工作的主要目的是允许编辑并因此在其上打印带有吉他和弦的歌曲歌词.

即使你不玩任何乐器,你可能已经看过和弦.为了给你一个想法,它看起来像这样:

E                 E6
I know I stand in line until you
E                  E6               F#m            B F#m B
think you have the time to spend an evening with me
Run Code Online (Sandbox Code Playgroud)

但是我不想使用这种丑陋的单行间距字体,而是希望Times New Roman字体与歌词和和弦(粗体字的和弦)进行字距调整.我希望用户能够编辑它.

这似乎不是支持的方案RichTextBox.这些是我不知道如何解决的一些问题:

  • 和弦的位置固定在歌词文本中的某些字符上(或更常见的TextPointer是歌词行).当用户编辑歌词时,我希望和弦保持在正确的角色上.例:

.

E                                       E6
I know !!!SOME TEXT REPLACED HERE!!! in line until you
Run Code Online (Sandbox Code Playgroud)
  • 换行:2行(带和弦的第1行和带歌词的第2行)在包装时逻辑上是一行.当一个单词换行到下一行时,它上面的所有和弦也应该换行.此外,当和弦包裹它已经结束的词时,它也会包裹.例:

.

E                  E6
think you have the time to spend an
F#m            B F#m B
evening with me
Run Code Online (Sandbox Code Playgroud)
  • 即使和弦彼此太近,和弦也应保持正确的特征.在这种情况下,一些额外的空间会自动插入歌词行中.例:

.

                  F#m E6
  ...you have the ti …
Run Code Online (Sandbox Code Playgroud)

.net wpf user-interface richtextbox music-notation

19
推荐指数
2
解决办法
2089
查看次数

如何创建像StackOverflow这样的富文本输入框字段?

我正在开发一个依赖于用户生成的内容的网站,并且还有一种让用户输入富文本的方法.

他们如何像在本网站上一样完成富文本发布问题?

我知道我可以在文本区域上面创建任意符号,当某些内容突出显示并按下其中一个控制按钮时,进行一些jQuery调用以查看突出显示的内容,并将其包含在某些html标记中,例如粗体文本. ..然后只需使用HTML将文本添加到我的数据库中.那是怎么做这些富文本的事情的?

谢谢!!

html jquery richtextbox

18
推荐指数
1
解决办法
2万
查看次数

修改RichTextBox中的默认选项卡大小

有没有办法更改.NET RichTextBox中的默认选项卡大小?它目前似乎设置为相当于8个空间,这对我来说有点大.

编辑:为了澄清,我想将全局默认值"\ t"显示为控件的4个空格.根据我的理解,SelectionTabs属性要求您先选择所有文本,然后通过数组选择选项卡宽度.如果必须,我会这样做,但我宁愿只更改一次全局默认值,如果可能的话,我不必每次都这样做.

.net tabs richtextbox winforms

17
推荐指数
2
解决办法
2万
查看次数

如何让RichTextBox看起来平整?

我正在使用WinForms SmartClient应用程序,该应用程序使用了许多RichTextBox控件 - 由于各种原因,有些代替常规TextBox.不幸的是,RichTextBox绘制了丑陋的Win95 3D边框,而不是主题的XP或Vista风格边框.

有谁知道将主题边框应用于RichTextBox的方法?我不介意为此目的对它们进行子类化.

谢谢!

c# themes richtextbox uxtheme winforms

17
推荐指数
1
解决办法
1万
查看次数

c# - 完美的语法高亮

我正在寻找一个带语法高亮的RichTextBox!听起来很简单,但我几个月来一直在寻找,并没有找到我需要的东西.

首先我自己开始做...没有好主意......

我试着用这个:http: //blogs.microsoft.co.il/blogs/tamir/archive/2006/12/14/RichTextBox-syntax-highlighting.aspx

但是该代码不处理加载文件或粘贴,所以我开始编写用于插入文本块的高亮功能.那个教程和我的代码工作得很好,但后来我看到了很多小错误,加载大文件花了太多时间.

然后在codeproject.com上找到了很多类似的教程/代码,如下所示:http: //www.codeproject.com/KB/edit/SyntaxHighlighting.aspx

但是,如果文件变大,我也会遇到问题.粘贴和加载文件需要一段时间......

我想我正在寻找这样的东西:http: //www.aqistar.com/

但我不能花钱,我想卖掉我的程序,所以代码/控制应该是免费的.

有谁能够帮我?

.net user-controls syntax-highlighting richtextbox

17
推荐指数
2
解决办法
2万
查看次数

如何使用RichTextBox控件将\ line附加到RTF中

使用Microsoft RichTextBox控件时,可以添加这样的新行......

richtextbox.AppendText(System.Environment.NewLine); // appends \r\n
Run Code Online (Sandbox Code Playgroud)

但是,如果您现在查看生成的rtf,\ r \n字符将转换为\ par not\line

如何在生成的RTF中插入\ line控制代码?

什么行不通:

令牌替换

黑客喜欢在字符串的末尾插入一个令牌,然后在事实之后替换它,所以像这样:

string text = "my text";
text = text.Replace("||" "|"); // replace any '|' chars with a double '||' so they aren't confused in the output.
text = text.Replace("\r\n", "_|0|_"); // replace \r\n with a placeholder of |0|

richtextbox.AppendText(text);

string rtf = richtextbox.Rtf;
rtf.Replace("_|0|_", "\\line"); // replace placeholder with \line
rtf.Replace("||", "|"); // set back any || chars to |
Run Code Online (Sandbox Code Playgroud)

这几乎可以工作,如果你必须支持从右到左的文本,它会分解,因为从右到左的控制序列总是在占位符的中间结束.

发送密钥消息

public void AppendNewLine() …
Run Code Online (Sandbox Code Playgroud)

c# richtextbox

17
推荐指数
3
解决办法
6万
查看次数