2010-03-16 4 views
3

이것은 기본적인 질문 일 수 있지만 일부 .Net Concetets에서는 혼란 스럽습니다.
VB.net에서 "데이터 브라우저"를 만들려고합니다. 웹 브라우저와 유사VB.Net 사용자 지정 컨트롤

  • 그러나 데이터 브라우저에서 각 탭 (데이터베이스 또는 플랫 파일에서) 의보기 일부 데이터가 아닌 웹 페이지입니다.
  • 각 탭의 UI는 대부분 입니다. 등 (당신이 필터를 만들 수 있습니다) (데이터 유형 등을 표시)
  • 목록 상자, 텍스트 상자 및 DataGridView를하는 데이터 소스 선택기,
  • 각 탭에서 변경 할 유일한 것은 맞춤 '뷰어'가있을 수 있습니다. 대부분의 경우 (데이터 소스에 따라 다름)에서는 이 데이터 격자가되지만 경우에는 treecontrol이됩니다.

.Net 문서를 읽으면서 모든 공용 컨트롤 (뷰어 제외)이있는 패널로 구성된 사용자 지정 컨트롤 (MyDataBrowser)을 만들어야합니다. 사용자가 "새 탭"이라고 할 때마다 새 탭 페이지가 만들어지고이 MyDataBrowser 컨트롤이 추가됩니다. MyDataBrowser 컨트롤에는 현재 데이터를 기반으로 적절한 뷰어를 만들 수있는 몇 가지 기능이 포함됩니다.

이 어떻게 MyDataBrowser 제어

  • (A)를 만드는 방법에 대해 갈 수있는 가장 좋은 방법은 제안 된 경로 인 경우이 사용자 정의 컨트롤 라이브러리인가?
  • (B) Inhertited Form입니까?
  • (C)이 사람은 상속 된 사람입니까 통제?

.DLL을 만들고 참조로 추가해야한다고 가정합니다. 이것에 대한 어떤 방향으로도 감사하겠습니다.

  1. 사용자 정의 컨트롤 (내가 저장/구성 파일이로드 싶습니다)의 자신의 특성을 가지고있다.
  2. customworkcontrol에 배경 작업자를 추가 할 수 있습니까?

감사합니다.

+0

나는 동의한다 - 적어도 올바른 방향으로 당신을 가르치려고 노력했지만 ... –

답변

3

당신은 UserControl을 만들고 싶어합니다.

자세한 내용은 Walkthrough: Authoring a Composite Control with Visual Basic을 다루는 MSDN의 연습 자료가 있습니다.

는 특정 질문에 대해 말했다되는 :

  1. 예. 자체 속성 (정의)이 있습니다.
  2. UserControl에 BackgroundWorker (또는 여러 개)를 추가 할 수 있습니다.

배포의 경우 일반적으로 DLL을 만드는 클래스 라이브러리에 넣고이를 응용 프로그램 내에서 참조 할 수 있지만 이는 사용자의 책임입니다. UserControl은 응용 프로그램에 직접 추가 할 수도 있습니다.

+0

리드, 나를 위해이 워크 플로우를 확인해 주셔서 감사합니다. .net은 제한된 도서관에서의 경험). 링크를 찾아 주셔서 감사합니다. 후속 조치로서, 런타임시 다양한 데이터 뷰어 (사용자 정의 컨트롤에서 다양한 방법으로 데이터를 표시하는 클래스)를 선택/추가 할 수 있기를 원합니다. 나는 이것이 .dll 파일이라고 가정합니다.이 경우 .dll을 만드는 방법에 대한 링크가 있습니까? VB.Net에서 사용자 지정 .dll을 만드는 방법에 대해 궁금해하고 런타임에 추가/선택하려고합니다. – Brian

+0

@Paul : "DataViewers"를 각각의 ViewModel로 만들 수 있습니다. 이러한 DLL은 필요에 따라 동일한 DLL에 있거나 별도의 DLL에있을 수 있습니다. 매우 역동적으로 만들고 싶다면 MEF를 보길 원할 것입니다 : http://mef.codeplex.com –