Кнопка Image на visual studio 2010 - PullRequest
       36

Кнопка Image на visual studio 2010

2 голосов
/ 23 февраля 2011

Я пытаюсь создать кнопку с изображением и без текста в представлении [Дизайн] в Visual Studio 2010. Я перетаскиваю кнопку, затем нажимаю Свойство изображения, выбираю изображение png из файла ресурсов,но свойство всегда остается пустым, и у кнопки нет изображения ни в представлении [Design], ни в скомпилированной программе.

Я попытался установить изображение в файле Form.Designer.cs с помощью:

    // 
    // button1
    // 
    this.button1.Location = new System.Drawing.Point(73, 11);
    this.button1.Name = "button1";
    this.button1.Size = new System.Drawing.Size(39, 34);
    this.button1.TabIndex = 10;
    this.button1.UseVisualStyleBackColor = true;
    this.button1.Image = Properties.Resources.close_project_img;

И когда я перехожу в представление [Design], я получаю ошибку:

To prevent possible data loss before loading the designer, the following errors must be resolved: 

Projectitem unavailable.     

Instances of this error (1)  

1.   Show Call Stack  

at EnvDTE.ProjectItem.get_FileCount()
at Microsoft.VisualStudio.Design.Serialization.ResXGlobalObjectProvider.GetFileNameForProjectItem(ProjectItem item)
at Microsoft.VisualStudio.Design.Serialization.ResXGlobalObject.BuildType()
at Microsoft.VisualStudio.Design.Serialization.ResXGlobalObject.GetObjectType()
at Microsoft.VisualStudio.Shell.Design.GlobalType.get_ObjectType()
at Microsoft.VisualStudio.Shell.Design.GlobalObject.GetHashCode()
at System.Collections.Generic.ObjectEqualityComparer`1.GetHashCode(T obj)
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at Microsoft.VisualStudio.Shell.Design.GlobalObjectService.GetGlobalObjects(Type baseType)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.AggregateTypeResolutionService.GetTypeFromGlobalObjects(String name, Boolean throwOnError, Boolean ignoreCase)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.AggregateTypeResolutionService.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.AggregateTypeResolutionService.GetType(String name)
at System.ComponentModel.Design.Serialization.DesignerSerializationManager.GetRuntimeType(String typeName)
at System.ComponentModel.Design.Serialization.DesignerSerializationManager.GetType(String typeName)
at System.ComponentModel.Design.Serialization.DesignerSerializationManager.System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetType(String typeName)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyReferenceExpression(IDesignerSerializationManager manager, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)  

Help with this error  

Could not find an associated help topic for this error.

Я могу нажать «игнорировать и продолжить», и представление [Design] открывается нормально, нокнопка не показывает изображение в этом представлении (оно показывает его в скомпилированной программе).

Что я здесь не так делаю?

Ответы [ 3 ]

1 голос
/ 23 февраля 2011

Вы не должны редактировать Form.Designer.cs напрямую, потому что он будет перезаписан дизайнером. дизайнер фактически запускает код в файле Form.designer.cs при открытии дизайнера. так как этот код фактически выполняется vs2010, его среда немного отличается

просто тест, попробуйте установить свойство изображения вместо метода события button_click, возможно, изображение по какой-то причине не найдено

0 голосов
/ 01 марта 2019

Перезапустите Visual Studio .NET

У меня была такая же проблема со мной.Стек вызовов не ведет и не отображает какую-либо информацию, которая помогает отслеживать проблему в файле конструктора.Я просто закрыл Visual Studio 2017, а затем снова открыл проект.Проблема исправлена ​​сама собой.

0 голосов
/ 23 февраля 2011

Я закрыл проект, удалил resources.resx и resource.designer.cs, воссоздал файлы ресурсов, и теперь он работает нормально, не знаю, в чем проблема.

...