2010-04-09 5 views
0

내 응용 프로그램에서 컨트롤 (확인란, 라디오 버튼, 텍스트 상자)을 반환하는 메서드가 있지만 내 webform 및 winform에 동일한 클래스를 사용하려고합니다. 이것을 어떻게 할 수 있습니까? 인터페이스에 대해 생각하고 있었지만이를 구현하는 방법을 모르겠습니다. 내 코드에서winform 및 webform을 준수하는 컨트롤을 만드는 방법은 무엇입니까?

나는 다음과 같은 방법이 있습니다

public TextBox GenerateTextfield(AnswerPossibility answerPossibility) 
{ 
    TextBox textBox = new TextBox(); 
    textBox.Tag = answerPossibility.Tag; 

    return textBox; 
} 

public Collection<ButtonBase> GenerateMultipleChoice(Collection<AnswerPossibility> answers) 
{ 
    Collection<ButtonBase> checks = new Collection<ButtonBase>(); 

    foreach (AnswerPossibility a in answers) 
    { 
     CheckBox chk = new CheckBox(); 
     chk.Text = a.Text; 
     chk.Name = "chk" + a.Id.ToString(); 
     chk.Tag = a.Tag; 

     checks.Add(chk); 
    } 

    return checks; 
} 

어떻게 내가 웹 형태뿐만 아니라 승리의 형태로이 방법을 사용할 수있는, 그래서이 할 수 있습니까?

답변

1

Winforms 및 Webforms UI 구조는 서로 완전히 다릅니다. 웹은 화면에서 결과를 다시 게시하는 연결이 끊긴 구조입니다. Winforms를 사용하면 응용 프로그램 내에서 모든 키 입력을 완벽하게 제어 할 수 있습니다. 웹에서는 동일하게 구현할 수 있지만 분리 된 환경에서는 JavaScript를 통해서만 가능합니다.

컨트롤 클래스 이름은 동일하게 보이지만 네임 스페이스의 다른 부분에서 온 것입니다.

웹 및 로컬에서 동일한 응용 프로그램을 실행해야하는 경우 Silverlight를 사용해야합니다. 동일한 코드로 브라우저 외부에서 &으로 실행될 수 있습니다. 가능한 사용자 기반을 제한 할 수는 있지만.

+0

하지만 InameInterface.GenerateTextfield()와 같은 것을 호출 할 수있는 인터페이스와 같은 솔루션이 없습니까? 그리고이 인터페이스는 win- 또는 webform에 의해 구현됩니다. – Martijn

+0

다음과 같이 구현할 수 있지만 아키텍처가 매우 다르므로 사용자 입력을 처리하는 데 어려움을 겪을 수 있습니다. – GvS

+0

오케이, 웹용과 winform 용의 두 클래스를 만드는 것이 좋습니다. – Martijn

관련 문제