可能重复:
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
这就是我所拥有的,我陷入了困境。请赐教。感谢
答案 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>