본문 바로가기
프로그래밍

WebBrowser 컨트롤 사용법[1]

by minimax95 2020. 7. 10.

지난 포스팅에 이어서 WebBrowser 컨트롤을 이용한 MyWebBrowser를 만들어보겠습니다.

 

지난 포스팅에서는 UI 중심으로 설명하면서 ToolStrip에서 만든 버튼 처리기까지 등록하였습니다.

여기에서는 버튼 처리기에 맞도록 기능들을 추가하여 WebBrowser를 완성해 보겠습니다.

먼저 ToolStrip의 모양은 아래와 같습니다.

가장 좌측에 있는 왼쪽 화살표는 GoBack( ) 기능을 수행하고 다음 오른쪽 화살표는 GoForward( ) 기능을 수행합니다.

다음 원형 화살표는 Refresh( ) 기능을 담당하고 X 버튼은 중지 기능으로 만들어 주겠습니다. 마지막 가장 오른쪽에 있는 버튼은 Go() 버튼으로 TextBox에 입력한 주소로 이동시키는 기능을 수행하겠습니다.

 

그럼 하나씩 소스코드를 살펴보겠습니다.

// 페이지 뒤로 가기
private void toolStripButton1_Click(object sender, EventArgs e)
{

    webBrowser1.GoBack( );

}

webBrowser 컨트롤의 GoBack( ) 함수를 이용해서 뒤로가기 기능을 간단히 처리할 수 있습니다.

나머지 버튼들도 동일하게 아래와 같이 기능을 추가해 줍니다.

 

// 페이지 앞으로 가기
private void toolStripButton2_Click(object sender, EventArgs e)
{

    webBrowser1.GoForward( );

}

 

// 페이지 이동
private void toolStripButton3_Click(object sender, EventArgs e)
{

    webBrowser1.Navigate(toolStripTextBox1.Text);

}

 

// 페이지 새로고침
private void toolStripButton4_Click(object sender, EventArgs e)
{

    webBrowser1.Refresh( );

}

 

// 페이지 정지
private void toolStripButton5_Click(object sender, EventArgs e)
{

    webBrowser1.Stop( );

}

 

버튼처리기를 구성하였으면 기능 구현이 거의 끝난 상태입니다.

 

추가로 구현할 기능은 사용자 편의에 맞게 TextBox에 주소를 입력하고 난 후 엔터키를 누르면 입력창 주소로 이동시키는 기능입니다. 가장 오른쪽 버튼 기능을 대신할 수 있는 사용자 키 입력 이벤트를 처리할 수 있는 이벤트 처리기를 등록해 주겠습니다.

toolStrip의 TextBox 속성을 보면 이벤트를 등록할 수 있는 창이 있고 여기서 [KeyDown]을 더블클릭하면 이벤트 처리기가 자동으로 등록됩니다.

위에서 등록한 이벤트 처리기 코드에 Key 이벤트를 처리할 수 있는 코드를 추가해 주겠습니다.

private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e)

{

    if(e.KeyCode == Keys.Enter)

    {

        this.toolStripButton3_Click(sender, e);   // 앞에서 구현한 페이지 이동으로 이벤트를 넘김

    }   

}

 

이제 기능 구현이 완료되었습니다.

소스코드를 빌드하여 실행파일을 만들어서 실행해 보겠습니다.

 

그렇게 어렵지 않게 나만의 WebBrowser가 완성되었습니다.

감사합니다.

댓글