簡體   English   中英

如何使文本框中的文本既粗體又斜體?

[英]How to make a text in the textbox both bold and italic?

我是 C# 語言的新手。 所以我在 Visual Studio 中創建了一個表單,上面有 3 個復選框,分別命名為粗體、斜體和下划線。 還有一個文本框。 當我選中“粗體”復選框時,它會使我的文本變為粗體,所有其他復選框都像這樣工作,但是當我嘗試選中 2 個或所有復選框時,只有一個有效。 這是我編寫的代碼,用於通過檢查第一個和第二個復選框來使文本變為粗體和斜體,但絕對不起作用:

if (checkBox1.Checked == true && checkBox2.Checked == true)
{
    textBox1.Font = new Font(textBox1.Font, FontStyle.Bold);
    textBox1.Font = new Font(textBox1.Font, FontStyle.Italic);
}

我還有一個 combobox 的字體大小,它運行良好,但是當我選中“粗體”復選框然后更改字體大小時,它會恢復為常規字體樣式並且不會保持粗體。 我應該怎么辦?

您設置字體兩次而不是組合值。 如果您查看 FontStyle 的定義,您會發現它是一個位域(它具有 flags 屬性)。 只是或值。 (請注意,我們使用按位或而不是 Boolean 或)

{
    textBox1.Font = new Font(textBox1.Font, FontStyle.Bold | FontStyle.Italic);
}

但是,最好以稍微不同的方式構建代碼:

FontStyle style;
if (checkBox1.Checked)
{
    style = style | FontStyle.Bold;
}
if (checkBox2.Checked)
{
    style = style | FontStyle.Italic;
}

textBox1.Font = new Font(style);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM