【问题标题】:method for text formatting at C#C#中文本格式化的方法
【发布时间】:2014-12-03 17:28:56
【问题描述】:

所有。我正在 C# .NET 上编写程序。我的表单中有一个richtextBox(Windows 表单)。我打开一个文本文件并将文本放入richtextBox。我需要使用 FontDialog 格式化选定的文本。但它改变了所有文本,没有被选中。可以应用什么方法,让 FontDialog 只改变选中的文本?

我的代码:

 if (fontDialog1.ShowDialog() != DialogResult.Cancel)
        {
            if (richTextBox1.SelectedText.Length > 0)
            {
                richTextBox1.Font = fontDialog1.Font;
                richTextBox1.ForeColor = fontDialog1.Color;
            }

谢谢。

【问题讨论】:

标签: c# .net winforms


【解决方案1】:

您需要使用 RichtextBox 的 SelectionFont 和 SelectionColor 属性:因为您使用的属性适用于控件的全部内容

if (fontDialog1.ShowDialog() != DialogResult.Cancel)
        {
            if (richTextBox1.SelectedText.Length > 0)
            {
                richTextBox1.SelectionFont = fontDialog1.Font;
                richTextBox1.SelectionColor = fontDialog1.Color;
            }

【讨论】:

    【解决方案2】:

    documentation for SelectedText 提供了一些很好的帮助

    richTextBox1.SelectionFont = fontDialog1.Font
    richTextBox1.SelectionColor = fontDialog1.Color;
    

    【讨论】:

      【解决方案3】:

      用户 RichTextBox.SelectionFont 属性

      if (fontDialog1.ShowDialog() != DialogResult.Cancel)
          {
              if (richTextBox1.SelectedText.Length > 0)
              {
                  richTextBox1.SelectionFont = fontDialog1.Font;
                  richTextBox1.SelectionColor = fontDialog1.Color;
              }
      

      查看http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox_members%28v=vs.85%29.aspx 获取 RichTextBox 的所有成员列表

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多