Как проверить, если выбранный текст на RichTextBox, чтоПроверьте выбранный текст на RichTextBox не все полужирный или смешанные [C#]
его символы не все жирным шрифтом.
Например:
notbold жирным шрифтом notbold ← это смешанные.
Im не все жирные ← это еще не все bold
Это код, который я сделал, он проверяет выделенный текст в richtextbox, содержит ли текст выделенный текст или нет.
его медленный, потому что он проверяет символ один за другим с помощью Selection.Start to Selection.Length и проверяет, полужирный. Если я использую richTextBox1.SelectionFont.Bold
, он вернет false, потому что его не все выделено жирным шрифтом, это значит также, если оно смешано с жирным и не жирным.
bool notallbold = 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)
{
notallbold = false;
richTextBox1.SelectionStart = 0;
richTextBox1.SelectionLength = 0;
richTextBox1.SelectionStart = start;
richTextBox1.SelectionLength = end;
richTextBox1.Focus();
}
}
При проверке длинной строки, я вижу, что текст становится полужирным при проверке. Есть ли эффективный способ, чем это?
Можно предположить, все выделенный текст использует тот же шрифт? Потому что, если выделенный текст содержит более одного шрифта, 'SelectionFont' возвращает null. –
@RezaAghaei - смелость сделает его другим шрифтом, да? –
Нет, это тот же шрифт. –