如何检查richtextbox上选择的文本是否全部为粗体。例如:
asdasdasdasd ← 这不是全部粗体
我全部都是粗体 ← 这是全部粗体
这是我编写的代码,它可以检查是否全部为粗体,但速度较慢,因为它使用Selection.Start
到Selection.Length
逐个字符检查是否为粗体。
bool allbold = true;
int start = richTextBox1.SelectionStart;
int end = richTextBox1.SelectionLength;
for (int i = 1; i < end; i++)
{
richTextBox1.SelectionStart = start+i;
richTextBox1.SelectionLength = 1;
if (!richTextBox1.SelectionFont.Bold)
{
allbold = false;
richTextBox1.SelectionStart = 0;
richTextBox1.SelectionLength = 0;
richTextBox1.SelectionStart = start;
richTextBox1.SelectionLength = end;
richTextBox1.Focus();
}
}
有没有比这更有效的方法?
break;
来跳出 for 循环。 - Darren WainwrightrichTextBox1.SelectionFont.Bold
,如果所有选定的文本都是加粗的,则返回 true。有什么问题吗? - Reza AghaeiSelectionFont
不为null,则SelectionFont.Bold
返回true,如果所有选定的文本都是粗体。当选择包含不同字体时,SelectionFont
为null。 - Reza Aghaei