Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从文本框/列表框中的一组粗体行生成特定行的步骤_C#_Winforms - Fatal编程技术网

C# 从文本框/列表框中的一组粗体行生成特定行的步骤

C# 从文本框/列表框中的一组粗体行生成特定行的步骤,c#,winforms,C#,Winforms,我需要在文本框/列表框中用C#加粗一行。net,而不是整个框的内容 下面是示例,考虑所有这些都显示在文本/列表框中, 嗨 你好 你好吗 你可以注意到hello是粗体的,这是我需要实现的。 请帮助我实现这一目标。 提前感谢。您可以使用类来实现这一点 字体类有一个构造函数,它具有以下3个属性: 1.FontFamily:如果需要,可以指定任何特定的字体系列,否则只需提供当前文本框字体系列即可 2.字体大小:如果需要,您可以将任何特定字体sie指定为浮动编号,否则只需提供当前文本框字体大小即可 3.字

我需要在文本框/列表框中用C#加粗一行。net,而不是整个框的内容

下面是示例,考虑所有这些都显示在文本/列表框中,


你好
你好吗

你可以注意到hello是粗体的,这是我需要实现的。 请帮助我实现这一目标。 提前感谢。

您可以使用类来实现这一点

字体类有一个构造函数,它具有以下3个属性:

1.FontFamily:如果需要,可以指定任何特定的字体系列,否则只需提供当前文本框字体系列即可

2.字体大小:如果需要,您可以将任何特定字体sie指定为
浮动
编号,否则只需提供当前文本框字体大小即可

3.字体样式:基本上有不同的字体样式可供选择

比如规则、粗体、斜体、下划线、删除线

您需要发送
FontStyle.Bold
以使文本加粗

从MSDN:

定义文本的特定格式,包括字体、大小和字体 样式属性。该类不能被继承

试试这个:

Font font = new Font(textBox1.Font.FontFamily, textBox1.Font.Size, FontStyle.Bold);
textBox1.Font = font;
编辑:正如您在下面的评论中所说的,如果您想将文本的唯一部分设置为
粗体
,则在
文本框

@Stephan
coments:

但是在
ListBox
中,如果您使用
DrawItem
事件,则可以使用该选项

请看这里:

您也可以使用
RichTextBox

解决方案2:
RichTextBox

如果您使用的是
RichTextBox
控件,则可以使用
SelectionFont
属性仅将所选文本设置为粗体(或任何要应用的字体)


如果要使用
列表框
,可以通过自己绘制项目来完成

DrawMode
设置为
OwnerDrawFixed
并处理
DrawItem
-事件。在这里,您可以指定所使用的
字体。如另一个答案所述,您可以设置
FontStyle.Bold


以下是解决方案

Windows窗体中唯一支持为每个项目设置
Font
属性的列表类型控件是
ListView
。试试这个:

  • 在表单上放置一个
    列表视图
    。将其
    视图
    属性设置为
    详细信息

  • 编辑ListView
    集合:添加一列;设置该列的宽度,使其内容清晰可见

  • //定义两个字体,一个粗体
    私有字体font1=新字体(“Arial”,9.0F,FontStyle.Regular);
    私有字体font2=新字体(“Arial”,9.0F,FontStyle.Bold);
    //演示如何将项目添加到ListView
    私有void AddListViewItems()
    {
    //添加十项
    对于(int i=0;i<10;i++)
    {
    var lvItem=newlistViewItem(“item”+i.ToString());
    //使其他每一项都使用粗体字体
    lvItem.Font=(i%2==0)?font1:font2;
    listView1.Items.Add(lvItem);
    }
    }
    
    这是什么平台?WPF、WinForms、WinRT?请不要在问题标题中包含关于所用语言的信息,除非没有它就没有意义。标记就是为了这个目的。它的windows窗体应用程序是C#嗨,你的代码使整个文本框内容加粗,这不是我想要的,我只需要特定的行。你能告诉我如何使用富文本实现吗Box@RajaVignesh:使用
    解决方案2检查我编辑的答案
    如果您想将文本的唯一部分设置为粗体,这是不可能的-这不完全正确:-)您可以使用
    DrawItem
    事件
    Font font = new Font(richTextBox1.Font.FontFamily, richTextBox1.Font.Size, FontStyle.Bold);
    richTextBox1.SelectionFont = font;
    
    // define two font-faces, one bold
    private Font font1 = new Font("Arial",9.0F, FontStyle.Regular);
    private Font font2 = new Font("Arial",9.0F, FontStyle.Bold);
    
    // demonstrate adding Items to ListView
    
    private void AddListViewItems()
    {
      // add ten Items
      for (int i = 0; i < 10; i++)
      {
        var lvItem = new ListViewItem("item " + i.ToString());
    
        // make every other item use the bold font-face
        lvItem.Font = (i % 2 == 0) ? font1 : font2;
    
        listView1.Items.Add(lvItem);
      }
    }