Menu및 상태바

Download Report

Transcript Menu및 상태바

Menu & StatusBar& ToolBar
강성관
Object
MarshalByRefObject
Component
Menu
MainMenu
ContextMenu
MenuItem
[그림] 메뉴 계층도
ToolBar and StatusBar
 ToolStrip
 ToolBar는 폼의 상단에 배치되며 명령을 내리는 다수의 버튼
들을 가짐
 빈 폼에 ToolStrip 컨트롤을 배치할 때 Dock 프로퍼티의 디
폴트가 Top 이므로 폼의 상단에 밀착되어 배치됨.
 ToolStrip은 버튼, 텍스트 박스, 레이블, 프로그래스 등의 다양
한 컨트롤을 배치할 수 있는 컨테이너.
 ToolStrip의 주요 프로퍼티
프로퍼티
타입
설명
bool
오버플로우 기능을 지원하는지를 지정한다. 툴바
의 항목이 툴바 폭을 넘을 경우 숨겨진 항목들이
오버플로우 메뉴에 나타난다.
ToolStripItem
Collection
툴바에 포함된 항목들의 컬렉션이다. 별도의 컬
렉션 편집기가 있으므로 디자인 타임에 손쉽게
편집할 수 있다.
RenderMode
ToolStripRend
erMode
툴바를 그릴 때 사용할 스타일을 지정한다.
TextDirection
툴바에 나타날 텍스트를 출력할 방향을 지정한다.
ToolStripTextD
수평, 수직 위, 수직 아래 셋 중 하나를 선택할
irection
수 있다.
CanOverflow
Items
AllowItemReor
der
bool
실행 중에 항목의 순서를 변경할 수 있는지를 지
정한다. 이 값이 trud이면 Alt 키를 누른 채로 항
목을 드래그하여 순서를 바꿀 수 있다.
GripStyle
ToolStripGripS
tyle
툴바 이동 핸들의 표시 여부를 지정한다.
 오버플로우 기능
폭이 좁을 때 안보이는 버튼까지 쓸수 있도록 해주는 기능
 AllowItemReorder
 항목의 순서를 실행 중에 바꿀 수 있는 기능
 이런 기능들은 MenuStrip 에도 그대로 적용
 MenuStrip 이 ToolStrip으로부터 파생되었기 때문
ToolStrip 은 항목들을 담기 위한 컨테이너일 뿐 이므로
ToolStrip 차원에서 쓸만한 실용적인 메서드나 이벤트는 없음
 툴바의 항목들
 툴바의 주된 용도는 명령을 신속하게 입력받는 것이며 따라서
툴바에는 보통 명령 버튼들이 배치됨
 필요할 경우 다른 컨트롤 들이 배치 가능
 선택 사항을 입력받는 콤보 박스가 종종 필요
 ToolStrip 에 배치되는 다양한 컨트롤
클래스
설
명
ToolStripLabel
제목을 표시하는 레이블이다. 하이퍼링크를 표시
할 수도 있다.
ToolStripButton
명령 버튼 및 옵션을 입력받는 버튼이다.
ToolStripSeparator
항목끼리의 구분에 사용되는 직선을 긋는다.
ToolStripControlHost
사용자 지정 컨트롤을 호스트 한다.
ToolStripComboBox
목록중 하나를 선택하거나 텍스트를 직접 입력할
수 있는 콤보 박스이다.
ToolStripTextBox
문자열을 입력할 수 있는 텍스트 박스이다.
ToolStripProgressBar
작업의 진행과정을 표시하는 프로그래스바이다.
ToolStripMenuItem
드롭다운 버튼에 포함되는 메뉴 항목이다.
ToolStripDropDownButton
항목 중 하나를 선택할 수 있는 드롭다운 메뉴를
연다.
ToolStripSplitButton
왼쪽에 버튼이 있고 오른쪽에 드롭다운이 있는
조합 컨트롤이다.
 레이블이나 콤보 박스, 텍스트 박스, 프로그래스 등의 컨트롤들이
툴바의 차일드로 사용됨
 이 컨트롤들은 모두 ToolStripItem으로부터 상속받으며 일부 확장된
기능을 가지기도 하지만 대부분 기본 컨트롤들과 유사한 기능을 가짐
 상태바(StatusBar)
 상태란은 시시각각으로 변하는 프로그램의 여러 가지 정보를
사용자에게 보여주는 역할
 폼의 하단에 배치
 항상 보이기 때문에 프로그램의 상태를 언제든지 참조 가능
 윈도우 탐색기는 남은 용량, 선택된 파일의 크기 등을 표시
 시간이 걸리는 작업을 할 때는 상태란에 현재 동작을 안내하기도
하고 메뉴에 대한 간단한 도움말을 출력하기도 함
 비쥬얼 스튜디오는 편집 위치나 키보드의 현재 상태 등을 표시
 상태란의 정보들은 대부분 문자열 이므로 주로 레이블이 배치되
지만 가끔 프로그래스나 드롭다운 버튼이 배치되는 경우도 있음.
 StatusStrip
프로퍼티
값
설명
AutoSize
false
고정된 폭을 갖도록 한다.
Text
모두 지움
BorderStyle
BorderSides
실행 중에 변경된다.
SunkenOuter
쑥 들어간 모양으로 만든다. 디폴
트인 Flat은 경계선이 보이지 않는
다.
All
각 변에 대해 경계선 장식 여부를
지정할 수 있는데 4변을 모두 장
식한다.
WebBrowser 제작
 닷넷 2.0에서 새로 추가된 WebBrowser 컨트롤은 Internet Explorer
가 제공하는 웹 브라우저
디폴트 프로퍼티들이 WebBrowser 를 자동으로 띄워줄 정도로 이미
무난하게 설정됨.
컨트롤을 배치한 후 Navigate 메서드로 URL 만 넘기면 즉시 웹
서핑 가능
 툴바와 웹 브라우저를 컨트롤을 사용한 간단한 웹브라우저
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data; using System.Drawing;
System.Text; using System.Windows.Forms;
namespace WebExplorer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(toolStripTextBox1.Text);
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
webBrowser1.GoBack();
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
webBrowser1.GoForward();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate(toolStripTextBox1.Text);
}
}
}
private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return)
{
webBrowser1.Navigate(toolStripTextBox1.Text);
}
}
 실행 결과
 프로그램 실행 결과 화면 설명
 툴바를 위에 배치하고 앞뒤 이동 및 주소 입력을 위한 텍스트
박스, 이동 버튼을 배치
 WebBrowser 컨트롤의 Dock 프로퍼티를 Fill로 설정
 폼의 남는 영역을 모두 차지하도록 함
 툴바의 텍스트 박스에 주소가 입력되면 Navigate 메서드로
주소를 넘기기만 함
 실행 직후 텍스트 박스의 프로퍼티에 설정되어 있는 기본
웹사이트로 이동