日期:2014-05-18  浏览次数:20921 次

求解释代码
private void buttonBold_Click(object sender, EventArgs e)
  {
  Font oldFont;
  Font newFont;
  oldFont = this.richTextBoxText.SelectionFont;

  if (oldFont.Bold)
  newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Bold);
  else 
  newFont =new Font(oldFont ,oldFont.Style|FontStyle .Bold );
  this.richTextBoxText.SelectionFont = newFont;
  this.richTextBoxText.Focus();
  }

这是一个Bold按钮的代码,谁能帮忙解释下这个代码啊,要那种逐句解释的那种

谢谢啊,小弟新手,别鄙视啊

------解决方案--------------------
C# code

        private void buttonBold_Click(object sender, EventArgs e)
        {
            Font oldFont;
            Font newFont;
            oldFont = this.richTextBoxText.SelectionFont;//获取richTextBoxText选中文字的字体

            if (oldFont.Bold)//如果是粗体
                newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Bold);//取消粗体
            else
                newFont = new Font(oldFont, oldFont.Style | FontStyle.Bold);//否则设为粗体
            this.richTextBoxText.SelectionFont = newFont;//设置richTextBoxText选中文字字体
            this.richTextBoxText.Focus();//richTextBoxText获得焦点
        }

------解决方案--------------------
Font oldFont;
Font newFont;
oldFont = this.richTextBoxText.SelectionFont; //取得原先richTextBoxText选中文本的字体,给oldFont变量

if (oldFont.Bold) //如果原先字体有加粗
newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Bold); //新字体等于旧的字体取消加粗(and再取反,相当于将样式标识设置为0)
else
newFont =new Font(oldFont ,oldFont.Style|FontStyle .Bold ); //新字体加粗
this.richTextBoxText.SelectionFont = newFont; //让选中文本设置为新字体
this.richTextBoxText.Focus(); //为文本框设置光标

------解决方案--------------------
C# code

Font oldFont;//旧字体
                Font newFont;//新字体
                oldFont = this.richTextBoxText.SelectionFont;//获取当前控件的字体状态

                if (oldFont.Bold)//如果当前字体为加粗状态
                    newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Bold);//设置为不加粗
                else
                    newFont = new Font(oldFont, oldFont.Style | FontStyle.Bold);//设置为加粗
                this.richTextBoxText.SelectionFont = newFont;//重新设置当前控件的字体状态
                this.richTextBoxText.Focus();//获得焦点