2017-10-30 5 views
1

'InitializeComponent'메서드 내의 코드는 디자이너가 생성하므로 수동으로 수정해서는 안됩니다. 변경 사항을 제거하고 디자이너를 다시 열어보십시오.'InitializeComponent'메서드 내의 코드는 디자이너가 생성합니다.

나는 초보자입니다. 제발 같이가주세요. 나는 몇몇 모양을 베끼고 풀고 즉시이 과실을 얻었다. 그래서 나는 그 사람의 컴퓨터에 로그인하여 프로그램을 작성한 사람 을 반복하여 단계를 반복했지만 도움이되지 않았습니다.

Forma를 FormB로 변경 한 새로운 양식의 모든 것을 변경했습니다. 애매하게하려고하지는 않지만 프로그램이 너무 커서 여기에 무엇을 붙여야할지 모릅니다.

구성 요소 및 초기화 구성 요소에 문제가 계속 발생하며 그 의미가 무엇인지 알 수 없습니다. 나는 또한 다른 StackOverflow 솔루션이 무엇인지 이해하기에는 너무 새롭다. Designer.cs를 삭제하려고 시도했지만 도움이되지 않았습니다. 웹 양식이 아닙니다. 이것은 SQL 백엔드가있는 C# 프로그램입니다.

다음은 일부 코드입니다. 그게 도움이되는지 확실하지 않습니다. 8000 개의 오류가 있습니다. 나는 이것이 이것과 관련이 있다고 생각한다.

public FormA() 
    { 
     InitializeComponent(); 
     this.StartPosition = FormStartPosition.CenterScreen; 
    } 

여기에도 오류가 발생합니다. 그것은 부울과 compoents를 밑줄 빨간색입니다. 배치

protected override void Dispose(bool disposing) 
    { 
     if (disposing && (components != null)) 
     { 
      components.Dispose(); 
     } 
     base.Dispose(disposing); 
    } 

또한 FormA에 관한 많은 오류가 발생합니다. FormA.textA와 FormA.textA 사이에 모호성이 있습니다. (예, 동일하지만 원래 버전에서는 정상적으로 컴파일됩니다.)

누구든지 나를 도울 수 있습니까? ? 감사.

편집 :이 후

public partial class FormA : Form 
    { 

     string dbname = @"SERVER = np:PROD; DATABASE = TEMP; Integrated security = true; Enlist = false"; 
     string user = Environment.UserName.ToString(); 
     System.Windows.Forms.Timer tmr = new System.Windows.Forms.Timer(); 
     System.Windows.Forms.Timer IdleTimer = new System.Windows.Forms.Timer(); 

     public FormA() 
     { 
      InitializeComponent(); 
      this.StartPosition = FormStartPosition.CenterScreen; 
     } 

     private void FormA_Load(object sender, EventArgs e) 
     { 
      Application.Idle += new EventHandler(Application_Idle); 
      this.KeyPreview = true; 
      btnSched.Text = "Edit " + DateTime.Now.ToString("MM/dd/yyyy") + " Schedule"; 
      calendarRefresh(); 
      tmr.Interval = 1000;//ticks every 1 second 
      tmr.Tick += new EventHandler(tmr_Tick); 
      tmr.Start(); 
      loadCurrentlyDisplayed(); 
      createUser(); 
      refreshUsers(); 
      loadNotes(); 
     } 

에이미

의 시작 코드를 추가는 기능이 다양한 일을 한 후 작동 단지입니다. 더 추가 할 수는 있지만, 얼마나 방을 가지고 있는지 모릅니다.

+0

전체 수업을 질문에 추가하십시오. 클래스 밖에서 메쏘드를 선언하려고하는 것 같습니다. – Amy

+1

실제 파일 인 formA.cs, formA.Designer.cs 및 formA.resx를 복사 한 다음 formA.cs를 프로젝트 솔루션에 추가하십시오. 다른 파일도 자동으로 함께 제공됩니다. – LarsTech

+0

이전 시도가 삭제되었는지 확인하십시오. – LarsTech

답변

0

'InitializeComponent'메서드 내의 코드는 디자이너가 생성하므로 수동으로 수정해서는 안됩니다. 변경 사항을 제거하고 디자이너를 다시 열어보십시오.

생성 된 코드는 수동 변경이 삭제되므로 수정하면 안됩니다. 이것은 실제로 경고가되어야하지만, 너무 깊어지기 전에 문제를 강조 표시합니다.

몇 가지 해결책이 있습니다

  • 수정 된 디자이너 파일 (. * g.cs)를 삭제하고 다시 빌드합니다. 이로 인해 VS가 재생성해야합니다. 이것은 보통 작동하지만 때때로 실패합니다. 디자이너 파일은 수동으로 추가하지 않으면 솔루션 탐색기에서 볼 수 없으므로 파일 브라우저에서 삭제해야합니다. 기본적으로 프로젝트의 obj 폴더에 있습니다.
  • 솔루션을 저장하고 닫은 후 다시 열지 않은 경우 디자이너 파일에 대한 모든 변경 사항을 취소 할 수 있어야합니다.
  • 디자이너 코드를 제외한 모든 코드를 스크래치 패드에 복사하고, 양식을 삭제하고, 다시 만들고, 필요한 경우 복사 된 코드를 삽입하십시오.

여기에도 오류가 발생합니다. 그것은 빨간색 밑줄의 부울이고 는

components.Dispose이 폐기는 components가 어떤 클래스의 방법이 아닙니다 제안한다. 당신이 그것의 유형을 게시 할 때까지 우리는 이것에 많은 도움을 줄 수 없습니다.

또한 FormA에 관한 많은 오류가 발생합니다. (난 그냥 명확성을 위해 그것을 사용하고 그 그것은 라고 아닙니다.) FormA.textA 와 FormA.textA 사이의 모호함 (네, 그것은 동일합니다,하지만 원래 버전으로 잘 컴파일합니다.)

이것은 디자이너 파일 문제와 관련이있을 가능성이 큽니다. 이 답변의 시작 부분에있는 해결책을 시도하십시오. 그래도 해결되지 않으면 양식 코드 (예 : FormA.cs)에 중복 입력란이 있어야합니다. 디자이너 파일이 수정되지 않았으며 양식 코드에 중복 된 필드 이름이 없는지 확인하십시오.

+0

감사합니다. 4 가지 양식을 복사하려고합니다. 12 개의 .cs 파일을 삭제했습니다. 이제는 찾을 수 없다는 말입니다. FormB.resx의 매니페스트 rescoure 이름을 만들 수 없습니다. \\ file directory \ FormB.cs 파일을 찾을 수 없습니다. 원래 양식에서 .cs 파일을 삭제하면 동일한 오류가 발생합니다. 미안하지만 두 번째와 세 번째 총알은 이해가 안돼. –

+0

.cs 파일을 영구적으로 삭제하지 않은 경우 저장소에서 해당 파일을 재활용하고 솔루션을 다시 엽니 다. 양식 코드를 백업 한 후 솔루션 탐색기를 사용하여 문제의 원인이되는 각 양식을 삭제하십시오. 그러면 수동으로 프로젝트 폴더를 파지 않고 각 양식과 관련된 디자이너 또는 resx 파일을 제거 할 수 있습니다. –

+0

솔루션 탐색기에서 FormA.cs를 삭제 하시겠습니까? 나는 그것을했고 C : \ blah blah \ FormA.cs 파일을 찾을 수 없다는 것을 말합니다. 그래서 닫은 후 다시 열었고 오류없이 컴파일되었습니다. 그러나 FormA는 사라졌습니다. 그래서 나는 출판했고 타입 또는 네임 스페이스 FormA를 찾을 수 없다고 말했습니다. 사용 지시문이나 어셈블리 참조가 누락 되었습니까? 그것은 사라 졌어요. 그것은 폴더에서도 사라졌습니다. 모든 네 개의 파일에 대한 모든 추적은 사라졌습니다 (백업이 있습니다.)하지만 분명히 나는 ​​뭔가를 놓치고 있습니다. 고맙습니다. –