2014-01-24 41 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

相关问题