Не удается имплицитно преобразовать тип "string" в " System.Окна.Формы.ColumnHeader

Я новичок в Visual Studio 2010 в языках C#. Я уже создал форму. Однако, когда я запускаю приложение, возникает ошибка, указывающая, что "Cannot implicity convert type 'string' to 'System.Windows.Forms.ColumnHeader'". Может кто-нибудь сказать мне, что случилось и как я могу решить эту проблему? Спасибо.

enter image description here

3 ответов


кажется, что вы создали ColumnHeader на имя Name на форме, которая в свою очередь скрывает свойство формы this.Name, который является строкой... это единственный сценарий, который я могу себе представить, приводящий к ошибке из предоставленного скриншота.
Если мое предположение верно, вы можете решить это, изменив эту строку на this.Name.Name = "ter";


кажется, что вы создали ColumnHeader с именем "Name". Пожалуйста, проверьте, есть ли у вас какие-либо элементы управления с именем "Name".

Ex: - у меня был DataGridView с именем столбца "SrNo", "Name", "Age". Я получал ту же ошибку. Почему bcoz "имени".

решение: переименуйте заголовок столбца DataGridView " Name "в" Person "или любую другую вещь, кроме"Name". Но если вы хотите отобразить " имя " как текст заголовка DataGridView , вы можете сохранить HeaderText как "Имя."т. е.

Название: Человек

HeaderText: Name

DataPropertyName: Person

здесь DataPropertyName является необязательным. Он используется при привязке через коллекцию в качестве источника данных.


вы уверены, что не хотите .Text вместо .Name?