当文本为粗体和斜体时。我试图找出它是否是斜体?但我失败了。
if (txtText.Text.Font.Style == FontStyle.Italic)
txtText.Font = new Font(txtText.Font, txtText.Font.Style ^ FontStyle.Italic);
。 .
这样一来,
if (txtText.Text.Font.Style == FontStyle.Bold)
txtText.Font = new Font(txtText.Font, txtText.Font.Style ^ FontStyle.Italic);
我只知道文本是否粗体。
最佳答案
您不能像这样检查相等性来检查特定位是否已设置。
要检查 FontStyle.Italic
位是否已设置,请执行以下操作:
//True if italic is set
if ((textText.Text.Font.Style & FontStyle.Italic) != 0)
这是有效的,因为除了 FontStyle.Italic
之外的每一位在结果中都将为 0,并且如果该位在当前样式中为 0,则该位将为 0 。因此,如果当前样式已设置,则结果将非零,如果未设置,则结果为零。
另请注意,由于您在其下方使用 XOR,因此您将始终仅切换斜体的当前设置,而不是显式设置/取消设置它。因此,您的支票可能根本没有必要。
关于c# - 如何知道文本框是粗体还是斜体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31993807/