2014-01-24 42 views
0

我寫了這個代碼:如何從組合框中獲取值並將其傳遞給下一步?

InstalledFontCollection fonts = new InstalledFontCollection(); 
foreach (FontFamily fnt in fonts.Families) 
{ 
    comboBox1.Items.Add(fnt.Name); 
} 

誰能告訴我怎麼能得到的名稱選擇它傳遞給我的功能(而不是預定義的Arial字體)?

Font myFont = new Font("Arial", 60f); 

回答

0

您可以使用comboBox1.SelectedItem來獲取組合框的選定值。

Font font = new Font(comboBox1.SelectedItem.ToString(), 60F); 
+0

你的意思是鍵入「Arial」的單詞,我只需要輸入「comboBox1.Selecteditem」? – CowBoy

+0

@CowBoy:是的。我已經添加了示例代碼。 – Ramashankar

+0

SelectedText錯誤,這會給你用戶使用鼠標選擇文本_highlighted_。 – DonBoitnott

0

添加事件處理程序的ComboBoxSelectionChangeCommitted

private void comboBox1_SelectedIndexChanged(Object sender, EventArgs e) 
{ 
    Font myFont = new Font(comboBox1.Text, 60f); 
    //use the font 
} 

小心使用SelectedItem,因爲它可能會返回到該項目的引用(一類),而不是提供一個直接的文本辦法。 SelectedValue也是可疑的,因爲除非你設置了ValueMember參數,否則它可能是null

+0

我應該如何設置在「comboBox1_SelectedIndexChanged」下面? – CowBoy

+0

事件處理程序是可選的。如果你已經有了一種方法來對用戶選擇作出反應,那麼就使用'comboBox1。 Text'參數來獲取字體名稱。 – DonBoitnott

+0

它不起作用。它只是給我相同的字體類型 – CowBoy

相關問題