[카테고리:] <span>웹 검색 엔진 만들기 [C#]</span>

이제 MainForm의 자식 컨트롤을 배치합시다.

MainForm은 상단에 웹 탐색을 위한 컨트롤과 검색을 위한 컨트롤을 배치합니다.

좌측 하단에는 RSS 즐겨 찾기 및 상세 보기, 검색 결과, 수집 정보를 확인 및 제어할 수 있는 컨트롤을 배치하고 우측 하단에는 웹 브라우저 컨트롤 및 상세 보기에서의 세부 항목을 보여주는 컨트롤을 배치합니다.

RSSBrowser MainForm 자식 컨트롤 배치
[그림 12.16] RSSBrowser MainForm 자식 컨트롤 배치
번호컨트롤 이름컨트롤 유형설명
1lb_addr_infoLabel정보 표시
2tbox_addrTextBox탐색할 웹 사이트 주소 입력 창
3btn_navButton탐색 요청 버튼
4lb_query_infoLabel정보 표시
5tbox_queryTextBox검색 질의 입력 창
6btn_searchButton검색 요청 버튼
7tcTabControl탭 컨트롤
8tp_rssTabPageRSS 탭 페이지
9tp_verifyTabPage상세보기 탭 페이지
10tp_resultTabPage결과보기 탭 페이지
11tp_getinfoTabPage수집정보 탭 페이지
12btn_sel_alllinkButton전체 RSS 선택 버튼
13btn_add_rsslinkButton선택한 RSS 즐겨찾기에 추가 버튼
14btn_rem_rsslinkButtonRSS 목록에서 제거 버튼
15clbox_rsslinkCheckedListBoxRSS 목록 체크 박스
16btn_all_allfavButton전체 즐겨찾기 선택 버튼
17btn_move_rssButton선택한 즐겨찾기를 RSS 목록으로 이동 버튼
18btn_rem_favButton선택한 즐겨찾기를 제거 버튼
19btn_go_verifyButton선택한 즐겨찾기 상세 보기 버튼
20clbox_favCheckedListBox즐겨찾기 목록 체크 박스
21lb_rss_titleLabelRSS 제목 레이블
22lb_rss_linkLabelRSS 주소 레이블
23lb_rss_folderLabelRSS 폴더
24btn_naviButtonRSS 주소로 탐색 버튼
25tbox_rss_descTextBoxRSS 정보 설명 창(읽기 전용)
26tc_contentTabControl컨텐츠 탭
27tp_webTapPage브라우저 탭 페이지
28tp_item_verifyTapPage세부 항목 자세히 보기 탭 페이지
29wbWebBrowser웹 브라우저 컨트롤
상세보기 탭 페이지의 자식 컨트롤
[그림 12.17] 상세보기 탭 페이지의 자식 컨트롤

 상세 보기 탭 페이지에는 즐겨찾기 목록을 보여주는 체크 박스를 배치합니다.

그리고 선택 항목의 RSS 제목과 주소와 상세 정보를 보여주는 컨트롤 및 해당 사이트로 탐색하는 버튼 컨트롤을 배치합니다.

마지막으로 즐겨찾기 목록에서 선택한 RSS의 세부 항목을 보여주는 컨트롤을 배치합니다.

번호컨트롤 이름컨트롤 유형설명
1clbox_fav2CheckedListBox즐겨찾기 체크 박스
2lb_rss_title2LabelRSS 제목 레이블
3lb_rss_link2LabelRSS 주소 레이블
4lb_rss_folder2LabelRSS 폴더 레이블
5btn_navi2ButtonRSS 주소로 탐색 버튼
6tbox_rss_desc2TextBoxRSS 정보 텍스트 창(읽기 전용)
7lbox_itemListBox선택한 RSS의 아이템 항목
검색 결과 탭 페이지의 자식 컨트롤
[그림 12.18] 검색 결과 탭 페이지의 자식 컨트롤

 검색 결과 탭 페이지에는 검색한 질의를 포함하는 페이지를 평가 순으로 결과 항목을 보여주는 컨트롤을 배치합니다.

그리고 평가 결과 항목을 선택하면 선택한 항목의 세부 정보를 보여주는 컨트롤과 해당 웹 페이지로 탐색할 수 있는 컨트롤을 배치합니다.

번호컨트롤 이름컨트롤 유형설명
1lbox_resultListBox검색 결과 목록
2lb_r_titleLabel타이틀 레이블
3lb_r_linkLabel주소 레이블
4lb_r_dateLabel게시 일시 레이블
5lb_r_authorLabel게시자 레이블
6lb_r_scoreLabel평가 점수 레이블
7pb_rPictureBox결과 이미지
8btn_r_naviButton탐색 버튼
9tbox_r_descriptionTextBox상세 정보 텍스트 창(읽기 전용)

[표 12.3] 검색 결과 탭 페이지의 자식 컨트롤

수집정보 탭 페이지의 자식 컨트롤 배치
[그림 12.19] 수집정보 탭 페이지의 자식 컨트롤 배치

 수집정보 탭 페이지에는 최종 사용자가 즐겨찾기에 등록한 RSS의 항목 중에서 실제 탐색한 경험이 있는 웹 사이트의 내용을 분석한 결과를 확인하는 페이지입니다. 실제 프로그램이라면 이 부분은 생략할 수 있는 부분이며 프로그램의 진행 흐름을 보여주기 위해 추가한 탭 페이지입니다.

수집정보 탭 페이지에는 탐색했던 웹 사이트의 내용을 형태소 분석하여 역파일 테이블에 등록한 형태소 목록을 보여주는 컨트롤과 역파일 테이블의 항목을 선택하면 이를 포함하는 웹 페이지의 세부 정보를 보여주는 컨트롤을 배치합니다.

번호컨트롤 이름컨트롤 유형설명
1lview_invListView역파일 목록
2ch_mnameColumnHeader형태소 이름
3ch_scountColumnHeader포함하는 사이트 개수
4lview_msiteListView형태소 포함하는 사이트 목록
5ch_surlColumnHeader페이지 주소
6ch_tcountColumnHeader페이지 내부 전체 형태소 개수
7ch_rcountColumnHeader페이지 내부 해당 형태소 개수

[표 12.4] 수집정보 탭 페이지의 자식 컨트롤

항목 상세 보기 탭 페이지의 자식 컨트롤 배치
[그림 12.20] 항목 상세 보기 탭 페이지의 자식 컨트롤 배치

 항목 상세보기 탭 페이지에서는 즐겨찾기의 RSS의 세부 항목을 선택하였을 때 이에 관해 정보를 보여주는 컨트롤을 배치합니다.

항목의 이미지 및 제목, 주소, 게시 일시, 게시자, 상세 정보 외에도 해당 항목의 웹 페이지 화면을 동시에 볼 수 있게 브라우저 컨트롤도 배치합니다.

번호컨트롤 이름컨트롤 유형설명
1wb_itemWebBrowser항목 보기 브라우저
2pb_itemPictureBox항목 이미지
3lb_item_titleLabel항목 제목 레이블
4lb_item_dateLabel항목 게시 일시 레이블
5lb_item_linkLabel항목 주소 레이블
6lb_item_authorLabel항목 게시자 레이블
7btn_navi3Button항목 탐색 버튼
8tbox_item_descriptionTextBox항목 정보 텍스트 창(읽기 전용)

[표 12.5] 항목 상세 보기 탭 페이지의 자식 컨트롤

웹 검색 엔진 만들기 [C#]