2014-02-27 59 views
0

我需要在C#中以粗體顯示文本框/列表框中的特定行。淨,而不是整個盒子內容好。要在一個文本框/列表框中加粗一行中的特定行

下面的例子中,考慮到所有這些都顯示在文本/列表框中,


你好
那你好你怎麼樣

你可以注意的是粗體,這是我需要實現的。 請幫助我實現這一目標。 在此先感謝。

+0

什麼平臺呢? WPF,WinForms,WinRT? –

+0

請不要包含關於問題標題中使用的語言的信息,除非在沒有它的情況下沒有意義。標籤用於此目的。 –

+0

它在C窗口窗體應用程序# –

回答

1

您可以使用Font類來實現此目的。

不存在用於需要以下3個屬性字體類的構造函數:

1.FontFamily:您可以指定任何特定字體的家庭,如果你想,否則只是提供當前文本框的字體家庭。

2.Font尺寸:您可以指定任何特定的字體SIE,如果你想有一個float號,否則只是提供當前文本框的字體大小。

3.字體樣式:基本上有不同的字體樣式可用。

像普通,粗體,斜體,下劃線,刪除。

您需要發送FontStyle.Bold以使您的文本變粗。

從MSDN:

定義一個特定格式的文本,包括字體,大小,和 風格屬性。這個類不能被繼承。

試試這個:

Font font = new Font(textBox1.Font.FontFamily, textBox1.Font.Size, FontStyle.Bold); 
textBox1.Font = font; 

編輯:正如你在下面的評論說,如果你想使文本BOLD它不可能只有一部分在TextBox

@Stephan備註:

但在ListBox如果您使用DrawItem事件。

在這裏看到:DrawEvent

作爲替代,您可以使用RichTextBox

解決方案2:文本變成粗體的一部分RichTextBox

如果您正在使用RichTextBox的控制,你可以使用SelectionFont屬性使所選文本僅爲粗體(或任何想要應用的字體)

Font font = new Font(richTextBox1.Font.FontFamily, richTextBox1.Font.Size, FontStyle.Bold); 
richTextBox1.SelectionFont = font; 
+0

嗨,您的代碼使整個文本框內容大膽,這不是我想要的,我只需要特定的行。 –

+0

@RajaVignesh:親愛的,請查看我修改過的答案。 –

+0

你能告訴我怎樣才能使用富文本框 –

1

如果您想要使用ListBox,您可以通過自己繪製項目來完成此操作。

DrawMode設置爲OwnerDrawFixed並處理DrawItem-事件。在這裏你可以指定使用的Font。作爲另一個答覆中提到,您可以設置FontStyle.Bold

MSDN-Example

2

下面是解...

在Windows窗體支持設置Font屬性爲每個項目只列出類型的控制是ListView。試試這個:

  1. 在窗體上放一個ListView。將其View財產設置爲Details

  2. 編輯ListView Columns集合:添加一列;設置該列的寬度,使其內容清晰可見。

 

// 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); 
    } 
} 
相關問題