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

时间:2017-01-08 19:45:02

标签: c# .net forms fonts label

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

检查后,第二个复选框将我的标签设置为斜体和粗体 当我点击"去"按钮。

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

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

public void ejecutar(View v) {

    Uri datos = Uri.parse(Environment.getExternalStorageDirectory().getPath()+"/gato.mp3");

    MediaPlayer mp = MediaPlayer.create(this, datos);

    if (mp != null) {
        mp.start();
    }
    else{ tv1.setText(datos.toString());}

2 个答案:

答案 0 :(得分: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;
    }

答案 1 :(得分: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);
        }

    }