System.Drawing.Font - C#

Узнай цену своей работы

Формулировка задачи:

В книжке Вотсона, Нейгела и прочих, дошёл до создания простого текстового редактора. И там есть такой код:
private void btnBold_Click(object sender, EventArgs e)
        {
            Font oldFont;
            Font newFont;
 
            oldFont = rtbText.SelectionFont;
 
            if(oldFont.Bold)
            {
                newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Bold);
            }
            else
                newFont = new Font(oldFont, oldFont.Style | FontStyle.Bold);
 
            rtbText.SelectionFont = newFont;
            rtbText.Focus();
        }
Но я никак не могу понять, как действует конструктор класса Font. Точнее, что это за второй аргумент. И каким образом знак тильды может применяться к свойству. Я думал, что он предназначен только для указания деструктора. И почему бы не использовать что-то вроде
if(oldFont.Bold)
        {
            newFont = new Font(oldFont, FontStyle.Regular);
        }
        else
            newFont = new Font(oldFont, FontStyle.Bold);
вместо такой хитрой конструкции как в примере выше?

Решение задачи: «System.Drawing.Font»

textual
Листинг программы
FontStyle f1 = FontStyle.Italic | FontStyle.Bold;
FontStyle f2 = f1 & ~FontStyle.Bold;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы