Я пытаюсь создать приложение Windows Forms на C# в Visual Studio.
Обычно можно дважды щелкнуть файл Form1.cs
в обозревателе решений, чтобы получить доступ к простому конструктору перетаскивания.
К сожалению, он открывает только код файла .
Попробуйте щелкнуть правой кнопкой мыши файл дизайнера и посмотреть, сможете ли вы найти дизайнера в списке параметров «Открыть с помощью».
@ThomasWeller Если это так, то, вероятно, было бы проще воссоздать исходный проект, поскольку до сих пор сделано немногое. Я сделаю это и обновлю, если проблемы не исчезнут.
Вы находитесь в режиме просмотра папок.
Перейдите в режим просмотра «Решение (проект)».
Этот значок в верхней части обозревателя решений.
Как мне переключаться между ними?
у вас есть файл решения, просто нажмите на него. Если у вас нет .sln, нажмите на .csproj
При нажатии на иконку пишет, что решения не найдено. В проводнике нет файла .sln, но есть файл .csproj. Нажатие на нее не приводит к другим результатам.
закройте VS и щелкните файл проекта в проводнике Windows.
или из VS: Файл -> Открыть -> Проект / Решение
Щелкните выделенный значок на изображении ниже. Это значок «Решения и папки», который вернет вас в режим просмотра решений.
@ColinG, судя по вашему изображению, файла решения не существует. Решения и папки не могут найти решение. На данный момент закройте Visual Studio и откройте его, щелкнув проект, а после открытия Visual Studio щелкните «Сохранить». Он снова создаст файл решения
Это не устранило проблему, хотя я попытаюсь решить эту проблему еще раз, когда смогу.
Я хочу сказать, что закройте визуальную студию и дважды щелкните файл проекта, в вашем случае это файл UserInterface.csproj.
Откройте проект из проводника. Проверить добавленное изображение
В моем случае щелкните правой кнопкой мыши Form1.cs (с правильным значком формы) и выберите "Просмотр дизайнера", все еще показывающий код.
Я нашел эта ветка и понял, что случайно выбрал .Net Core вместо .NET Framework при создании нового проекта:
Я должен увидеть этот длинный xml внутри файла .csproj (.NET Framework) панели Обозреватель решений, который TargetFrameworkVersion
показывает v<Number>
:
...
<OutputType>WinExe</OutputType>
<RootNamespace>HelloWorld</RootNamespace>
<AssemblyName>HelloWorld</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
...
, вместо короткого xml ниже (* .Net Core), который TargetFramework
показывает netcoreapp<Number>
:
<Project Sdk = "Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
</Project>
Чтобы проверить тип проекта, можете обратиться к этот ответ.
Журналы разработчиков Microsoft заявил, что Дизайнер с .Net Core еще не поставляется по умолчанию:
If you want to work with .NET Core project, don’t forget to install the .NET Core Windows Forms Designer, since it isn’t yet shipped inside Visual Studio by default. See the previous “Enabling the designer” section.
В VS2019 просто удалите первый проект и создайте еще один. Это решит проблему просмотра страницы дизайнера. Теперь вы можете увидеть своего дизайнера.
Такая же проблема возникает при размещении другого класса перед классом формы (в данном случае мой класс ImageContainer
).
namespace ImageProcessor
{
internal class ImageContainer
{
}
public partial class Form1 : Form
{
private ImageContainer m_img = null;
}
}
Просто переместив internal class ImageContainer
после public partial class Form1 : Form { }
, дизайнер перетаскивания VS2019 может загрузить мой класс Form1.
namespace ImageProcessor
{
public partial class Form1 : Form
{
private ImageContainer m_img = null;
}
internal class ImageContainer
{
}
}
Также символ в обозревателе решений изменился на значок диалога.
Хороший улов. Меня действительно бесит, что это вещь ...
Нашел это решение где-то еще:
У меня только что была аналогичная проблема в Visual Studio 2017. На «Form1.cs [Design]» была показана ошибка, и я закрыл ее. Затем я заметил, что Form1.cs не имеет опции «View Designer» (также значок изменился на значок обычного класса). К счастью, я понял, в чем была ошибка: я бы поместил класс, отличный от общедоступного частичного класса Form1, в качестве первого класса в файле Form1.cs. Исправление, из-за которого значок изменился, и снова была включена опция «View Designer».
Жаль, что такие ошибки не отображаются в списке ошибок. Мою ошибку легко обнаружить, но я понимаю, почему это может быть проблемой, особенно в более крупных проектах.
Каким-то образом файл .resx был поврежден, я исправил это, скопировав этот же файл из другой формы. Просто удалите поврежденный, вставьте его и измените имя
Возможно, при создании проекта произошла ошибка или вы выбрали неправильный тип проекта. Попробуйте щелкнуть «Добавить новый элемент» и выбрать новый элемент Windows Form. Возможно, вам потребуется изменить класс запуска в Program.cs для запуска программы.