在F#ComboBox中设置所选项目

时间:2015-03-16 16:47:48

标签: winforms combobox f#

这让我疯了......

我正在尝试设置Windows.Forms.ComboBox的“已选择”项。我已经尝试了一切,但到目前为止还没有任何工作。我确定我错过了一些明显的东西......

这就是我所拥有的(在F#中):

type Foo = {
    id : int;
    name : string;
}

let foos = [// list of Foos ]

// This is what I want to comboBox to display by default
let defFoo = { id = 3; name = "defaultFoo"; } 


let cb = new ComboBox()
cb.DataSource <- foos |> List.toArray
cb.DisplayMember <- "name"
cb.ValueMember <- "id"

cb.SelectedValue <- defFoo.id 

最后一行不起作用,因为我尝试过的其他方法都没有。 (我尝试过SelectedItemSelectedIndex等)

1 个答案:

答案 0 :(得分:1)

我没有使用f#,但我认为在数据绑定工作之前表单需要存在,所以尝试使用Load或Shown事件:

yourForm.Load.Add(fun evArgs -> cb.SelectedValue <- defFoo.id)