2012-12-11 3 views
1

그래서 바보 같은 작은 문제가있어서 쉽게 해결할 수 있습니다.Class.designer.cs가 열릴 때마다 변경됩니다.

그래서 기본적으로 탭 컨트롤과 탭 (주로 탭 디자인을위한 드로잉 보드로 사용됨)으로 구성된 사용자 지정 사용자 정의 컨트롤이 있습니다. 오늘 VS2008-.net3.5에서 VS2010-.net4.0으로 프로젝트를 옮겼습니다.이 사용자 정의 사용자 정의 컨트롤을 제외하고 대부분 모든 것이 완벽하게 보입니다.

디자이너에서 열 때마다 이름 옆에 * 기호가 표시됩니다. 그리고 그것을 저장하면 VS에서 페이지를 닫은 다음 다시 엽니 다.

이전과 이후를 비교해 보았습니다. SplitContainer SplitterDistance를 임의의 길이로 설정하는 것과 같은 작은 일을하고 있고 컨트롤이 designer.cs에 정의 된 순서를 재정렬합니다. 소스 컨트롤을 사용하여 열 때마다 저장하라는 메시지를 표시하기 때문에 실제로 성가시다. 그리고 그것을 계속 놓는 위치는 꺼져 있고 화면의 측면에서 몇 픽셀 떨어진 곳에 컨트롤을 밀어 넣습니다.

슬리 터 거리를 수동으로 설정하여 모든 곳에서 많은 공간을 만들려고했으나 열 때마다 똑같은 작업을 수행했습니다.

도움을 주시면 감사하겠습니다.

안부, 라이트

+1

컨트롤이 디자인 타임에로드 될 때 레이아웃을 수행하는 부작용입니다. dpi 관련있을 수 있습니다. 나는 변경된 내용과이 컨트롤이 처음으로 만들어진 컴퓨터가 어떻게 다른지를 문서화 한 질문을 아직 보지 못했습니다. –

+0

하지만 일단 저장하면 VS의 동일한 인스턴스에서 괜찮을 것이라고 생각할 것입니다. 당신이 탭을 닫은 다음 컨트롤을 다시 열면 디자이너가 변경되고 모든 것이 바뀌기 때문에 이상하게 보입니다. – Wrightboy

+1

흥미 롭습니다. VS 2010에서 폼을 열 때마다 높이를 변경하는 행이있는'TableLayoutPanel'이있는 폼이 있습니다.이 컨테이너를 놓아야하는 성가신 버그 중 하나에 넣습니다. 아마도 당신의 질문에 대한 좋은 대답은 그것에 대한 어떤 생각을 밝힐 것입니다. –

답변

0

나는 디자이너는 "InitializeComponent를"방법 생성에 이벤트 핸들러의 최대 설정을 아래로 추적, 최근에 비슷한 문제를 해결합니다.

많은 실험을 거친 후 문제의 원인이 된 SizeChanged 이벤트에 이벤트 처리 기능이 있습니다. 그래서 양식의 InitializeComponent에서 선이 있었다 때마다

someControl.SomeEvent + =이 MyEventAPIHandler

난 그냥 InitializeComponent를 호출 한 후, 생성자에 그것을 밖으로 이동했다.

관련 문제