无法将类型'string'隐式转换为'System.Windows.Forms.ColumnHeader

时间:2011-10-13 03:21:08

标签: c# string visual-studio-2010 forms

我是Visual Studio 2010 C#的新手。我已经创建了一个表单。但是,当我运行应用程序时,发生了一个错误,指出"Cannot implicity convert type 'string' to 'System.Windows.Forms.ColumnHeader'"。有人能告诉我发生了什么,我该如何解决这个问题?感谢。

enter image description here

3 个答案:

答案 0 :(得分:66)

您似乎已在表单上创建了名为ColumnHeader的{​​{1}},而该表单又隐藏了表单属性Name,这是一个字符串...这是唯一的方案我可以想象从提供的屏幕截图中导致错误 如果我的假设是正确的,您可以通过将该行更改为this.Name

来解决此问题

答案 1 :(得分:4)

您似乎已经创建了一个名为“Name”的ColumnHeader。 请检查您是否有任何名称为“名称”的控件。

Ex: - 我有一个DataGridView,列名为“SrNo”,“Name”,“Age”。 我得到了同样的错误。为什么bcoz的“名字”。

解决方案:将DataGridView的ColumnHeader“Name”重命名为其他人说“Person”或“Name”以外的任何东西。 但是如果要将“Name”显示为DataGridView的Header文本,可以将HeaderText保持为“Name”.i.e。

姓名:人

HeaderText:名称

DataPropertyName:Person

这里DataPropertyName是可选的。如果通过集合绑定为DataSource,则使用它。

答案 2 :(得分:3)

您确定不希望.Text代替.Name吗?