在C#中更改字体样式(粗体,斜体,粗体斜体)

时间:2011-04-09 19:58:31

标签: c# asp.net

  

可能重复:
  change font style in c#

我希望将标签的字体样式更改为粗体,斜体等。使用aspx页面中的下拉列表。请让我知道我在这里做错了什么,因为似乎没什么用。

我的代码:

public void button_click(object sender, EventArgs e)
{
    var select= font1.SelectedItem.Value;
    if(select=="Bold")
    {
        // I have the following methods of doing this; None works for me.
        label1.Style["Font-Weight"]="bold";
        //I also tried this:
        label1.Font = new Font(label1.Font, FontStyle.Bold);
        //and this:
        this.label1.Font= new Font(this.label1.Font, FontStyle.Bold);
    }
}

使用.Font时,我得到无效参数的错误,Font的参数必须是这样的:Font(string,float)。另外,请记住,将实际大小放在参数列表中的方法不是我想要做的。喜欢这个

label1.Font=new Font("Arial", 16, FontStyle.Bold);
//I don't want to change the font family or sixe of the label's text

这就是我所拥有的,我陷入了困境。请赐教。感谢

2 个答案:

答案 0 :(得分:5)

更好的方法是更改​​标签的 CssClass ,并定义与您想要的样式相匹配的不同CSS类(在单独的CSS文件中,将包含在您的页面中)。 / p>

您所描述的大部分内容通常是使用CSS和javascript在客户端(浏览器)完成的,您无需往返服务器以获取UI更改。

答案 1 :(得分:1)

您是否尝试过使用CSS并简单地应用一个类。您甚至不需要在服务器端执行此操作。

一点客户端代码:

 <style>
   .bold { font-weight: bold; }
 </style>

 <script type="text/javascript">
 $('#font1').change( function() {
     if ($(this).val().matches(/bold/i)) {
        $('#label1').addClass('bold');
     }
     else {
        $('#label1').removeClass('bold');
     }
     ... handle italic, etc. ...
 });
 </script>