Combobox:如何在 SelectedItem 更改时填充 Text 属性

Combobox: How to populate Text property when SelectedItem changes

提问人:CodeButcher 提问时间:11/15/2023 更新时间:11/16/2023 访问量:38

问:

SHORT 版本:

在 winForm 中,我使用 .组合框的 Text 属性,而不是标签。例如:[选择汽车品牌]。 组合框设置为数据源。

从窗体底部的 datagridview 中选择行项时,若要在顶部的控件中进行编辑,我必须将组合框的值设置为如下所示: cboMake.SelectedItem = CarProperty.Make; cboMake.Text = CarProperty.Make;

如果我不设置 .文本值,仍显示[pick car make]

有没有更好的方法可以做到这一点?

LONG 版本:

控件设置:我有一个设置为数据源的组合框。此外,我没有在我的 winForm 上使用标签,而是使用 .Text 属性,因此当用户打开窗体时,他们会看到一个显示“[pick the make]”的组合框。想想汽车品牌/型号。

表单设置:表单的顶部是查看/编辑/添加面板,表单的按钮部分是 datagridview,显示用户创建的所有不同想法。为简单起见,假设该表格用于记录该人曾经拥有的汽车的所有品牌和型号。datagridview 显示了所有这些,如果他们想查看一个(或编辑它)背后的详细信息,他们从 datagridview 中选择它,它会填充在窗体的顶部。所有这些代码都在工作......算是吧。

实现:在用户编辑顶部值后,将保存编辑内容,并清除上部控件,并具有 .文本属性重置为“[pick a make]”之类的内容,以便用户可以根据需要添加新条目。

问题:当用户从 datagridview 中选取一行并填充顶部的控件时,一些组合框显示正确的值,而另一些则显示“帮助”文本,例如“[pick the make]”。

我的解决方案:在选择要编辑的行项时,我必须设置为组合框的值: cboMake.SelectedItem = CarProperty.Make; cboMake.Text = CarProperty.Make;

有没有更好的方法可以在用户选择要编辑的行项时显示帮助文本和/或设置组合框值?

我想我的第一个选择是将“帮助标签”添加到数据源中,然后忽略 .Text 属性。我过去也这样做过,所以这是我第一次想到我会尝试使用 .Text 属性。

C# 组合框 控件

评论

0赞 Community 11/16/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答:

0赞 CodeButcher 11/16/2023 #1

原来我可以分配给.文本,这也设置了 selecteditem。

评论

0赞 Community 11/16/2023
正如目前所写的那样,你的答案尚不清楚。请编辑以添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以在帮助中心找到有关如何写出好答案的更多信息。