2014-04-09 1 views
1

WinForm에서 작업 중이었고 unknow 이유로 더 이상 디자인 모드에서 열 수 없습니다 (특정 양식 만). 어쨌든 WinForm이고 클래스가 아니라는 것을 Visual Studio 2013에 알려주고 있습니까?WinForm 클래스가 디자인 모드 대신 클래스로 열림

enter image description here

+1

designer.cs 파일을 삭제하거나 이름을 변경 했습니까? – Steve

+0

nop, 디자이너 파일이 있습니다. –

+1

양식 클래스가 Form 클래스에서 올바르게 파생 되었습니까? – Steve

답변

2

프로젝트를 언로드 한 다음 .csproj 파일을 편집 할 수 있습니다. .cs 파일을 검색하고 SubType 노드 ... <Compile Include="Scraper.cs"><SubType>Component</SubType></Compile>을 삽입하십시오. .csproj를 저장하고 프로젝트를 다시로드하십시오. MyForm을이 문제를 해결 한 후 나를 위해

0

".. 열기", 솔루션 탐색기에서 파일을 마우스 오른쪽 버튼으로 클릭하고 목록에서 디자이너를 다시 선택합니다. 아마도? 아니면 Designer.cs 파일에 문제가 있거나 위의 복제본에서 언급 한대로 손상된 것일 수 있습니다. 당신이 당신의 폼 클래스 후 폼 상속을 제거하면

+0

디자이너가 목록에 없음 –

+0

흠. 정말 모르겠다면, 솔루션의 다른 폼과 같은 파일의 속성 (Visual Studio, ALT + Enter)이 있습니까? "이상한"심각한 Visual Studio 문제의 경우 .sln 옆의 .suo 파일을 삭제하고 다시 시도하는 경향이 있습니다. Suo는 VS에서 별난 문제로 끝날 수있는 거의 쓸모없는 것들을 저장합니다. 단지 힌트입니다. – kdrapel

0

당신이 기본 Form 클래스 비주얼 스튜디오에서 상속을 제거 할 경우의 동작은, 여기

public partial class MyMainForm : Form 
{ 

} 

을 설명 경험은 디자이너 대신 양식 코드를 보여줍니다 때를 솔루션 탐색기에서 양식 이름을 두 번 클릭하십시오.

0

양식 클래스 StateRuleDetailTriggerForm.cs 및 해당 디자이너 클래스 StateRuleDetailTriggerForm.Designer.cs에서 네임 스페이스가 일치하는지 확인하십시오.

0

내 양식에 대한 기본 클래스를 생성하고 수동으로 생성 된 양식으로 변경할 때도 마찬가지입니다.

솔루션은 기본 클래스 정의에

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

속성을 추가했다. 이 사용자 conhtrol 경우처럼 당신이 디자이너에서 결코 열려있는 몇 가지 자신의 유도 제어를 원하는 경우

P.S : 주위에 같은 방법으로, 당신은

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

를 사용할 수 있습니다.

1

나는 부분 클래스 전에 정의 된 클래스, 즉 :

public class MyClass { ... } 
public partial class MyForm : Form { ... } 

정의 MyClass에 있었다.