문제

저는 대규모 간호사 및 사회 복지사가 고객 정보와 상호 작용할 수 있도록 winforms crud "와 같은"앱을 설계하고 있습니다.

여러 가지 형태가 있습니다 (약 30ish) 그들은 주어진 고객에 대해 "가능한"상호 작용이 필요하며 특정 사람을 위해 서로로 점프해야 할 수 있습니다.

나는 사용자 인터페이스의 디자인에 걸리고 있습니다. 나는 페이지에서 필요한 작업을 수행하고 다음을 클릭하는 매우 간단한 선형 Webform Crud 만 설계했습니다.

Mont가 비선형 Winform Crud 앱의 의미는 무엇입니까?

나는 그 탭에 내장 된 양식으로 탭의 경로를 시작했지만 능력이 부족하여 프로그램이 매우 부피가 느껴집니다. Windows가 "숨겨져있는"경우 쉽게 혼란 스러울 수있는 매우 간단한 사용자가 있기 때문에 Straight MDI가 갈 길이 확실하지 않습니다.

조언, 통찰력 또는 모든 사람이 가질 수있는 사례에 크게 감사드립니다. 누군가가 Winform Crud 앱을 스스로 만들어야한다면 반대적으로.

어떤 UI 레이아웃이 효과가 있었습니까?

내 현재의 모습의 예는 여기에 있습니다 ->

http://lh6.ggpht.com/_dqvwi_jxys0/sf8ei0etyri/aaaaaaabhi/pmahozerubo/s288/matrixuiexample.jpg에서 devfiles
도움이 되었습니까?

해결책

여기에는 몇 가지 허용 패턴이 있으며 때로는 생산적으로 결합 할 수 있습니다.

  1. 탭 페지
  2. TreeView (Win Explorer 폴더, Visual Studio의 도구 | 옵션)
  3. 붕괴 패널 (Outlook Mail/Calendar/Contacts)

붕괴 패널은 표준 컨트롤이 아니지만 몇 가지 구현이 있습니다 (여기 딱 하나만)

그리고 당신은 혼자가 아닙니다. 영감을 얻으려면 이것을 참조하십시오 그러니 대답.

다른 팁

CRUD 유형 앱을 통해 배운 가장 중요한 것 중 하나는 거의 모든 버튼에 핫키가 있고 탭 순서가 올바르게 설정되어 있는지 확인하는 것입니다.

대부분의 경우 데이터 입력/수정을 수행 할 때는 키보드에서 손을 떨어 뜨려 마우스를 제출/업데이트 버튼으로 이동하고 특히 많은 양의 데이터가 작업 할 수 있습니다. 이 두 항목을 순서대로 사용하면 앱의 생산성이 크게 향상됩니다.

면책 조항 : 나는 얼마나 오래 걸리지 않기 때문에 Cruds를 해왔지만 지금은 첫 Winforms 앱으로 시작합니다.

그래서 일부 혼합 아이디어 :

현재 시스템 (Centura/Gupta를 사용하여 작성)에서 MDI와 같은 접근 방식을 사용합니다. 사용자가 현재 작업을 닫지 않고 새 레코드 작업을 시작할 수 있도록하는 것이 중요하다고 생각하므로 개방형 Windows 목록이 항상 표시되어 다른 양식간에 빠르게 전환 할 수 있습니다. 예시:

alt text
(원천: pingmbh.de)
왼쪽 하단에 열린 창문 목록. 또한이 시스템을 사용하면 다른 내부에서 한 레코드를 열 수 있으며, 예를 들어 고객을 열고, 고객의 주문을 보여주고, 주문 중 하나를 열어서 더블 클릭하십시오.

이제 Winforms에 대해 : 일부 연구를 수행 한 후 나는 MDI에 대해 속이고 대신 SplitContainers가 포함 된 양식을 사용했습니다. 이 컨테이너 패널 중 하나는 열린 창 목록을 보여주고 다른 컨테이너는 현재 양식을 보여줍니다. 패널에서 양식을 표시하는 방법을 찾지 못했기 때문에 양식은 사용자 컨트롤로 실현됩니다. 기본 양식은 열린 창을 추적하고 창 목록에 표시합니다. 사용자가 목록의 창을 클릭하거나 프로그램의 다른 곳에서 동일한 레코드를 열면 적절한 패널이 전면으로 가져옵니다. 진행중인 작품 사진 :alt text
(원천: pingmbh.de)
이 레코드의 편집에서 기존 레코드의 선택을 분리하는 것을 고려하십시오. 즉, 필터 및 검색 기능을 갖춘 일부 종류의 테이블 (그리드 뷰와 같은)에 기존 레코드를 표시하고 사용자 가이 레코드를 Doubleclick으로 편집 할 수 있도록하십시오.

스크린 샷에서 "삽입"및 "업데이트"에 대한 버튼이 있음을 알았습니다. 새로운 레코드를 만들고 기존 레코드를 저장하기위한 것입니까? 더 나은 접근 방식은 사용자에게 "새"버튼을 제공 한 다음 "저장"및 "취소"버튼이있는 양식을 열는 것입니다. 사용자는 새로운 레코드 또는 기존 레코드를 편집하기 시작한지를 모두 기억하지 못할 수도 있습니다.

선택 화면 BTW는 "새 레코드"버튼에 좋은 장소입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top