首页 文章

如何在C#中使用多个复选框设置标签字体

提问于
浏览
0

我是C sharp的新手,我已经尝试了很多设置,但没有帮助 . 我想创建一个带有按钮和3个复选框和一个标签的表单 . 如果我检查,当我点击“开始”按钮时,第一个复选框将我的标签设置为粗体 .

当我检查后,第二个复选框将我的标签设置为斜体,当我单击“go”按钮时将其设置为粗体 .

最后,当我检查时,第三个复选框将我的标签设置为斜体,粗体和下划线 .

它有效,但当我取消选中我的复选框时,我想删除这些字体设置?我该如何删除它们?

private void btnGo_Click(object sender, EventArgs e)
{
    if (cbunderline.Checked == true)
    {               
        lbltext.Font = new Font(lbltext.Font.Name, lbltext.Font.Size, lbltext.Font.Style | FontStyle.Underline);
    }

    if (cbitalic.Checked ==true )
    {
        lbltext.Font = new Font(lbltext.Font.Name, lbltext.Font.Size, lbltext.Font.Style | FontStyle.Italic);
    }

    if (cbbold.Checked==true)
    {
        lbltext.Font = new Font(lbltext.Font.Name, lbltext.Font.Size, lbltext.Font.Style | FontStyle.Bold);
    }
}

2 回答

  • 1

    要删除样式,请始终使用基本样式,然后仅添加已检查的样式:

    private void btnGo_Click(object sender, EventArgs e)
        {
            // start with the base font, then add in each selected style
            Font fnt = new Font(lblFontSample.Font.FontFamily, lblFontSample.Font.Size, FontStyle.Regular);
            if (cbBold.Checked)
            {
                fnt = new Font(lblFontSample.Font, fnt.Style | FontStyle.Bold);
            }
            if (cbItalic.Checked)
            {
                fnt = new Font(lblFontSample.Font, fnt.Style | FontStyle.Italic);
            }
            if (cbUnderline.Checked)
            {
                fnt = new Font(lblFontSample.Font, fnt.Style | FontStyle.Underline);
            }
            lblFontSample.Font = fnt;
        }
    
  • 0
    private void btnGo_Click(object sender, EventArgs e)
    
        {
    
            if (cbunderline.Checked == true)
    
            {               lbltext.Font = new Font(lbltext.Font.Name, lbltext.Font.Size, lbltext.Font.Style | FontStyle.Underline);
            }
    
            if (cbitalic.Checked ==true )
            {
                lbltext.Font = new Font(lbltext.Font.Name, lbltext.Font.Size, lbltext.Font.Style | FontStyle.Italic);
            }
    
            if
                (cbbold.Checked==true)
            {
                lbltext.Font = new Font(lbltext.Font.Name, lbltext.Font.Size, lbltext.Font.Style | FontStyle.Bold);
            }
    
        }
    

相关问题