C# C GUI高亮显示文件中的行?现有代码?

C# C GUI高亮显示文件中的行?现有代码?,c#,winforms,C#,Winforms,我不是C开发人员,但不是专家,但我想编写一个简单的GUI,加载一个文件,并根据一些基本规则,相应地为背景行着色。当鼠标悬停在单词上时,可能会出现一些工具提示 最简单的方法是什么?有没有图书馆已经在做大部分的工作 尝试使用RichTextBox并选择BackColor选项1-网络浏览器控件 作为一个选项,您可以在WebBrowser控件中显示所需的内容。 您只需在字符串变量中创建html内容,然后设置webBrowser1.DocumentText 在元素中显示行 使用元素的title属性显示工具

我不是C开发人员,但不是专家,但我想编写一个简单的GUI,加载一个文件,并根据一些基本规则,相应地为背景行着色。当鼠标悬停在单词上时,可能会出现一些工具提示

最简单的方法是什么?有没有图书馆已经在做大部分的工作

尝试使用RichTextBox并选择BackColor

选项1-网络浏览器控件

作为一个选项,您可以在WebBrowser控件中显示所需的内容。 您只需在字符串变量中创建html内容,然后设置webBrowser1.DocumentText

在元素中显示行 使用元素的title属性显示工具提示 通过创建一个改变元素背景色的类来显示高亮显示,并将其指定给要高亮显示的元素的class属性 内容的示例可以是:

<html>
<head><title>Text</title></head>
<style>
    .highlight
    {
        background-color:yellow;
    }
</style>
<body>
    <div>Line 1</div>
    <div class="highlight" title="Some tooltip">Line 2</div>
    <div>Line 3</div>
    <div class="highlight" title="Some tooltip"> Line 4</div>
    <div>Line 5</div>
</body>
</html>
选项2-RichTextBox控件

作为另一个选项,您可以使用RichTextBox:

使用richTextBox1.SelectionBackColor突出显示文本 使用richTextBox1.GetCharIndexFromPosition查找鼠标下的字符,这样您就可以找到单词或行,并显示基于文本的工具提示。
先尝试一些东西,然后在遇到困难时再回来。如果你试一试的话,你的解释是非常直接和简单的。要读取文件,Rich Textbox用于为单词等着色…您可以在WebBrowser控件中显示所需的内容。我想知道答案是如何在没有任何评论的情况下被否决的,而我看不出答案有任何错误,我认为这是一个好的选择。@Sorceri使用RichTextBox不能简单地满足工具提示的要求。@RezaAghaei否决了否决票我猜是的,你可以在richtextbox中使用工具提示,根据发生的事情、事件、选择等动态创建它们。对下级选民来说,考虑一下投票失败的原因,或者分享一个更好的答案。一个基于HTML的回答对一个被标记的WiFrm的问题有什么好处?我还不如提供一个基于WPF的答案,这比你的方法更合适一千倍,但我没有,因为这是winforms,我只能在OP明确同意或要求之后提供基于WPF的答案。@HighCore基于html的答案是可以的,因为它完全比RichTextBox更好地解决这个问题,OP可以使用控件来使用这个方法。此外,基于WPF的答案也可以,因为OP可以使用WPF控件并将其宿主到windows窗体。如果这两种方法都比使用RichTextBox好,而且两种方法都与windows窗体具有良好的互操作性,为什么不使用这些方法呢。
public class LineItem
{
    public string Content { get; set; }
    public string ToolTip { get; set; }
    public bool Highlight { get; set; }
    public override string ToString()
    {
        return string.Format("<div {0} title=\"{1}\">{2}</div>" , 
            HighLight==true?"class=\"highlight\"":"" , 
            ToolTip, 
            Content);
    }
}