Класс всегда пытается открыть в режиме конструктора, а не в представлении кода

У меня есть класс с именем Print.cs что всегда упорно открывается в конструкторе, когда мне нужно, чтобы увидеть его просмотра кода(F7). Он также имеет другой значок для остальных моих классов в обозревателе решений.

Я посмотрел в свойствах и не вижу ничего актуального. Я также попытался удалить и заново создать класс, но значок возвращается.

Как я могу заставить Print.cs всегда открывать в представлении кода?

(Нажмите, чтобы увеличить)

NB: не обращайте внимания на зеленую волнистую линию, это всего лишь предупреждение о том, что был обнаружен недоступный код.

4 ответа

Решение

Взято из предложений @LarsTech и @OrkunBekar, поскольку ни один из них не опубликовал это как ответ - это работает:

[System.ComponentModel.DesignerCategory("Code")]

Добавлен между пространством имен и классом, например

using System;
using System.Collections.Generic;
...

namespace POS
{

    [System.ComponentModel.DesignerCategory("Code")]

    public class Print : PrintDocument
    {
        ...
    }
}

Попробуйте щелкнуть правой кнопкой мыши на файле -> Open With -> CSharp Editor (не забудьте установить его по умолчанию).

Как ни странно, в моем случае это было совсем другое. Если имя файла равно (=) первому классу в нем, то Visual Studio решает, что это простой файл C#. Если у вас есть 2 класса, а первый не совпадает с именем файла, значок решения изменится, и редактор по умолчанию станет дизайнером. Visual Studio

Я не знаю, есть ли у вас те же условия в этой ссылке, но открытие класса в блокноте, изменение кодов, замена файла и повторная сборка решения могут решить проблему.

Другие вопросы по тегам