在 F# ComboBox 中设置选定项
Setting selected item in F# ComboBox
这让我抓狂....
我正在尝试设置 Windows.Forms.ComboBox
的 "selected" 项。我已经尝试了一切,但到目前为止没有任何效果。我确定我遗漏了一些明显的东西...
这是我的(在 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
最后一行不起作用,因为 none 我试过的其他方法。 (我尝试了 SelectedItem
、SelectedIndex
等)
我不常使用 f#,但我认为在数据绑定工作之前表单需要存在,所以尝试使用 Load 或 Shown 事件:
yourForm.Load.Add(fun evArgs -> cb.SelectedValue <- defFoo.id)
这让我抓狂....
我正在尝试设置 Windows.Forms.ComboBox
的 "selected" 项。我已经尝试了一切,但到目前为止没有任何效果。我确定我遗漏了一些明显的东西...
这是我的(在 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
最后一行不起作用,因为 none 我试过的其他方法。 (我尝试了 SelectedItem
、SelectedIndex
等)
我不常使用 f#,但我认为在数据绑定工作之前表单需要存在,所以尝试使用 Load 或 Shown 事件:
yourForm.Load.Add(fun evArgs -> cb.SelectedValue <- defFoo.id)