2012-11-01 2 views
3

궁금한 점이있어서 2 개의 프로젝트가 없어도 2 개의 응용 프로그램 레이아웃을 가질 수 있습니까?winforms 여러 양식 레이아웃

데스크톱/랩톱의 레이아웃과 같습니다. 그리고 태블릿을위한 하나의 레이아웃?

winforms는 디자이너 파일이 1 개 밖에 없다는 것을 알고 있으며, 아마도 내 질문에 답할 수 있습니다.하지만 정말 똑같은 태블릿 레이아웃을 위해 완전히 새로운 프로그램을 다시 만들어야한다면 궁금합니다. 데스크탑과 같은 기능, 모든 동일한 컨트롤과 약간 다른 모습.

답변

3

핵심 기능을 라이브러리 어셈블리 (DLL)에 넣고 동일한 코어 어셈블리를 참조하는 두 개의 UI 응용 프로그램을 작성했습니다.

+3

이 경우 일부 UI 만 다르며 일부는 동일하므로 UI ​​섹션을 복제하는 대신 라이브러리에 넣는 UserControls를 만드는 것이 좋습니다. – Servy

+0

@Servy가 동의했습니다. 또는 아마도 CommonUI 라이브러리를 라이브러리 분리에 지나치게 사용하지 않고 다음과 같은 경향이 있습니다 .-) –

+0

실제로는 지금 사용하는 방법론이며 대다수의 컨트롤은 독립 실행 형이며 필요에 따라 참조됩니다. 그래서, 이것은 우리가 걸을 길입니다. 타이 정보. – zackrspv

2

레이아웃을 처리하는 사용자 정의 LayoutEngine을 작성할 수 있습니다. 이렇게하면 모든 레이아웃 지향 작업을 엔진에두고 코드에 집중할 수 있습니다.

모든 윈도우 컨트롤 호스트와 함께, 레이아웃 이벤트를 제공하는 양식 : 문서에서
http://msdn.microsoft.com/en-us/library/ms973821.aspx

: 여기

는 (샘플 소스)이 작업을 수행하는 방법에 대한 마이크로 소프트에 대한 기사입니다 코드의 복잡한 레이아웃 작성을 가능하게하는 다른 알림 중 입니다. 재사용 가능한 레이아웃 엔진 작성을 용이하게하기 위해 기본 프레임 워크를 제공 할 수 있습니다.

+0

이것은 정말 좋은 정보입니다. 새 프로젝트의 경우 반드시 사용해야합니다. 상당한 비용이 드는 기존 프로젝트의 경우, 레이아웃을 다시 엔지니어링하는 데 많은 시간을 할애해도 비용 효과적이지 않습니다. 그러나 우리가 포함하는 새로운 프로그램을 위해 이것을 할 것입니다. 그것에 대한 정보를 가져 주셔서 감사합니다! – zackrspv