1. 레이블과 텍스트 박스


오늘은 레이블과 텍스트 박스에 대해서 알아보도록 할것인데, 이 레이블(Label)과 텍스트 박스(Text Box)는 가장 많이 사용되는 컨트롤 중 하나입니다. 레이블 컨트롤은 출력에 사용되고, 텍스트 박스 컨트롤은 입출력에 사용됩니다.


레이블 컨트롤에서 자주 사용되는 속성을 한번 살펴봅시다.


AutoSize: 'True'라면 자동으로 문자열의 크기에 따라 컨트롤의 크기가 조정됩니다.

Caption: 출력될 내용을 적습니다.

BorderStyle: 테두리의 모양을 설정합니다.

BackStyle: 컨트롤을 투명화 시킬것인지 설정합니다.


그리고 텍스트 박스에서 자주 사용되는 속성을 한편 살펴봅시다.


Alignment: 정렬 방식을 지정합니다.

BorderStyle: 테두리의 모양을 설정합니다.

Enabled: 입력 및 수정이 가능한지 설정합니다.

Font: 글꼴 또는 크기를 수정합니다.

MaxLength: 최대 입력 가능한 문자 수를 지정합니다.

MultiLine: 여러 줄로 나누어 입력할 수 있는지를 설정합니다.

Text: 컨트롤에 표시될 내용을 입력합니다.


이제 프로젝트를 열어, 레이블과 텍스트 박스를 이용하여 간단한 프로그램을 만들어 봅시다.

이번에는 텍스트 박스에 우리가 원하는 내용을 적어 레이블에 출력되게 하는 프로그램을 만들어보려 합니다.


필자는 다음과 같이 컨트롤을 배치했습니다.



폼 디자인은 대충 끝난것 같으니, 코드 편집창으로 들어갑시다. 커맨드 박스를 누르면 텍스트 박스에 있는 내용이 레이블로 출력되게 할 것이므로 커맨드 박스를 클릭시 이벤트가 발생하도록 해야겠죠?


커맨드 박스를 더블 클릭합시다. 그리고 다음과 같이 소스를 수정합니다.


Private Sub Command1_Click()

Label1.Caption = Text1.Text 'Text1의 Text를 레이블1의 Caption에 옮깁니다.

End Sub


다 끝나셨으면, F5를 눌러 결과를 확인해봅시다.


출력을 누르자 Text1의 내용이 Label1로 옮겨갔죠? 

정상적으로 확인이 되셨으면 프로그램을 닫고 이번에는 간단하게 로그인 프로그램을 만들어 봅시다.


2. 포커스


프로젝트를 다시 만들어 로그인 폼과 비슷하게 텍스트 박스 두개와 커맨드 박스 하나를 적절히 배치시킵시다.



이렇게 하셨으면, 이제는 아이디와 비밀번호가 다르면 Text1의 내용을 비우고 포커스를 주도록 해봅시다.

(여기서 포커스란 현재 작업 위치를 나타내는 것입니다. SetFocus 메서드를 사용해 변경할 수 있습니다.)


커맨드 박스를 더블클릭 합시다. 그리고 아래와 같이 소스를 수정합시다.


Private Sub Command1_Click()

If Text1.Text = "test" And Text2.Text = "test1" Then '만약 Text1가 test이고, Text2가 test1 이라면

  MsgBox "로그인에 성공하였습니다!", vbInformation, "로그인 성공"

Else '그렇지 않다면

  MsgBox "로그인에 실패하였습니다.", vbExclamation, "로그인 실패"

  Text1.SetFocus '텍스트1로 포커스를 이동시킵니다.

  Text1.Text = "" '텍스트1의 내용을 공백으로 둡니다.

  Text2.Text = "" '텍스트2의 내용을 공백으로 둡니다.

End If '조건문을 빠져나온다

End Sub


대충 보시면, 우리가 처음보는 단어들이 보이시죠? 조건문에 대해서는 나중에 설명드리도록 하고 우선은 포커스의 이동을 살펴봅시다. F5를 눌러 결과를 확인해봅시다.


프로그램이 실행되면 첫번째 텍스트 박스엔 test, 그리고 두번째 텍스트 박스엔 test1를 입력해보고 로그인을 누릅시다. 누르자 마자 '로그인에 성공하였습니다!'라는 대화 상자가 등장합니다. 


그렇다면 첫번째 텍스트 박스 또는 두번째 텍스트 박스의 내용을 변경해보면 어떨까요?

변경 후 로그인을 다시 누르게 되면 이번에는 '로그인에 실패하였습니다.'라는 대화 상자가 등장 후 Text1로 포커스가 이동되고, Text1과 Text2의 내용이 공백으로 수정되는 것을 확인하실 수 있습니다.


텍스트 박스와 레이블을 더 자세히 알아보시려면 다음 링크를 통해 도움말을 참조하세요.

http://msdn.microsoft.com/ko-kr/library/9hwzeyc9(v=vs.90).aspx

http://msdn.microsoft.com/ko-kr/library/19z8k5by(v=vs.90)