2009-10-21 2 views
0

VS2008의 디자인 모드를 사용하여 C#에서 GUI 응용 프로그램을 개발 중입니다. 이제 응용 프로그램의 외양을 다 마쳤으므로 이제 일부 기능을 추가 할 준비가되었습니다.자바 스윙 녀석 용 Winforms [MVC 적용]

그러나 실제로 VS2008 디자이너는 빈 생성자 만 사용합니다. Java로 응용 프로그램을 개발할 때 나는 보통 모델과 컨트롤러 객체를 생성자의 모든 뷰 객체에 전달합니다.

디자이너를 너무 많이 사용하고 더 많이 하드 코딩해야하거나 다른 방법이 필요한 경우 확실하지 않습니다. 개체를보기 위해 데이터를 전달하는 방법은 무엇입니까? http://smartclient.codeplex.com/ (이전의 복합 응용 프로그램 블록라고도 함) :

당신이 나에게 사용하는

+0

wpf에서 앱을 만들지 않아서 MVVM을 비교적 쉽게 사용할 수있었습니다. – Will

+0

winforms을 배우기 위해이 앱을 만들고 있습니다 :) –

답변

1
  • 당신은 문제없이 Form 클래스의 서브 클래스에서 생성자를 사용할 수 있습니다. 그러나 컨트롤이 디자이너와 호환되도록하려면이 기능이 제대로 작동하지 않습니다.

  • 모델 객체를 공개 속성 또는 객체 (양식 또는 컨트롤)의보기 메소드에 전달할 수 있습니다.

  • 보기가 모델에 대해 거의 알지 못하고 발표자에 의해 수정 된 Passive View 또는 Supervising Controller 패턴을 사용할 수 있습니다.

+0

감사! 제 3의 옵션을 정말 좋아하지 않습니다. 나는 그것을 MVC로 유지하고 싶다. 하지만 처음 두 가지 중에서 C# 개발자가 자주 사용하는 것은 무엇입니까? 내게 그것은 winforms의 큰 한계처럼 보이거나 방금 Java에서 MVC를 잘못 사용하고 있습니까? –

+0

불행히도 WinForms 디자이너의 코드 생성기는 사용자 정의 컨트롤의 인수를 사용하기에 충분히 똑똑하지 않습니다. 생성 된 파일 (일반적으로 XXX.designer.cs)을 변경하고 기본 생성자를 필요한 생성자로 바꾸면이를 피할 수 있지만 변경 사항은 가장 확실하게 손실됩니다. 또는 양식 작성 코드를 직접 작성할 수도 있지만 매우 지루하고 오류가 발생하기 쉽습니다. 그래서, 제가 제안한 두 번째 방법은 가장 쉬운 IMHO가 될 것입니다. –

0

시도를 이해 바랍니다.

보기에 발표자의 의존성 주입을 허용하는 Windows Form 용 MVP 프레임 워크입니다.

Manitra.

+0

thirdparty 구성 요소를 실제로 찾고 있지 않습니다. 나는 C#과 winforms의 초보자 일 뿐이며 사용법을 이해하지 못한다. –