2011-04-09 279 views
2

可能重複:
change font style in c#更改字體樣式(粗體,斜體,粗體斜體)在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我獲得無效的參數錯誤,對於字體的參數必須是這樣的:字體(字符串,浮點數)。另外,請記住,將實際大小放在參數列表中的方法並不是我想要做的。像這樣

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

重複:http://stackoverflow.com/questions/5607280/change-font-style-in-c/5607319#comment-6385717 – 2011-04-09 20:07:59

回答

5

更好的方法是更改​​標籤的CssClass,並定義不同的CSS類以匹配您想要的樣式(在單獨的CSS文件中,該文件將包含在您的頁面中)。

你描述的很多東西通常是在客戶端(瀏覽器)上使用CSS和JavaScript完成的,在這裏你不需要往返服務器來獲取UI變化。

+0

雖然'CssClass'可能是最好的方法,你仍然可以通過標籤attribute.add屬性來做到這一點嗎? – 2011-04-09 20:11:06

+0

@Nick - 你可以在CSS上添加一個'style'屬性。 – Oded 2011-04-09 20:12:02

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> 
+0

我的應用程序是服務器端開發。我不想使用JavaScript(無論如何)。 – 2011-04-09 20:20:01

相關問題