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 메서드로
주소를 넘기기만 함
실행 직후 텍스트 박스의 프로퍼티에 설정되어 있는 기본
웹사이트로 이동