벌써 4번째 시간이군요.

오늘은 유용하게 사용할 수 있는 리스트박스와 콤보박스를 이용해서 제가 작년에
다녀온 우한보기 프로그램을 간단히 만들어 보았습니다.

따라하다보면 기본적인 사용법을 쉽게 익힐 수 있을 겁니다.
그럼 시작해 볼까요?

결과물을 먼저 볼까요?

1. 리스트박스에 선택했을 때 결과

사용자 삽입 이미지

2. 콤보박스에 선택했을 때의 결과
사용자 삽입 이미지

어떤 가요?  너무 쉬운가요?
이제 세부적인 부분을 한 번 알아 봅니다.

사용된 폼 컨트롤 속성정보
사용자 삽입 이미지

자 이제 코드를 입력해 볼까요?

먼저 리스트박스와 콤보박스에 선택할 수 있는 아이템을 등록해야 되겠지요.?
이것은 Form1_Load 이벤트에서 해주면 됩니다.


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        '폼이 로드될 때 리스트박스와 콤보박스 초기화
        '리스트박스에 아이템 정의
        ListBox1.Items.Add("호텔방")
        ListBox1.Items.Add("호텔 앞 전경")
        ListBox1.Items.Add("호텔 옆 전경")
        ListBox1.Items.Add("버스타는 곳")

        '콤보박스에 아이템 정의
        ComboBox1.Items.Add("고금대에서")
        ComboBox1.Items.Add("손문 동상")
        ComboBox1.Items.Add("장강 제 1철교 위에서")
        ComboBox1.Items.Add("황학루")

        '폼의 구분을 위해 폼에 추가했던 Label2, Labe3를 실행시보여주지 않기
        Label2.Visible = False
        Label3.Visible = False

End Sub

다음으로 리스트박스나 콤보박스에서 해당 아이템을 선택하면 픽쳐박스에 보여주도록 하는 부분은 어떻게 하면 될까요?
이것은 ListBox1_SelectedIndexChanged(블라블라), ComboBox1_SelectedIndexChanged(블라블라) 이벤트에서 해주면 됩니다.


- 리스트 박스관련
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

        '리스트박스에서 선택된 것에 따라서 PictureBox2에 그림을 보여주기
        Select Case ListBox1.SelectedIndex
            Case 0
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \4성호텔부근\호텔방.jpg")
                MsgBox("호텔방을 선택하셨네요. 4성급 호텔인데 좀 후지죠?")
            Case 1
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                   \4성호텔부근\호텔앞 전경.jpg")
                MsgBox("호텔앞 전경을 선택하셨네요. 호텔 앞이 좀 시골틱합니다.")
            Case 2
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \4성호텔부근\호텔옆 전경.jpg")
                MsgBox("호텔 옆 전경을 선택하셨네요. 호텔방에서 바라본 전경입니다. 여행사의 상술
                             에 속지말자.")
            Case 3
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \4성호텔부근\버스타는 곳.jpg")
                MsgBox("버스타는 곳을 선택하셨군요. 버스비는 1위안, 2위안 2가지 입니다.^^")
        End Select

    End Sub

- 콤보박스관련
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        '콤보박스에서 선택된 것에 따라서 PictureBox2에 그림을 보여주기
        Select Case ComboBox1.SelectedIndex
            Case 0
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\고금대에서.jpg")
                MsgBox("고금대에서를 선택하셨네요. 고금대는 우정과 관련된 역사적인 곳임")
            Case 1
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\손문동상.jpg")
                MsgBox("손문동상을 선택하셨네요.손문은 쑨원이라고도 불리는데 중국의 국부이죠")
            Case 2
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\장강제1철교위에서.jpg")
                MsgBox("장강제1철교위에서를 선택하셨네요. 1킬로미터가 넘는 긴다리입니다.")
            Case 3
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\황학루.jpg")
                MsgBox("황학루를 선택하셨네요. 황학루, 후베이박물관과 함께 우한의 대표적인 명소지
                              요")
        End Select
End Sub

마지막으로 버튼 컨트롤에서 MsqBox의 조금더 발전된 기능을 넣은 부분
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        MsgBox("본 프로그램이 유용하셨는지요? 유용하셨으면 격려차원에서 댓글도 남겨주시면 감사
                      하겠습니다.", MsgBoxStyle.YesNo)

        '프로그램 끝내기
        End
End Sub

이부분 출력 결과를 보면

사용자 삽입 이미지

이상으로 오늘의 강좌를 마칩니다.
열심히 하나 하나 익히셔서 좋은 프로그램 많이 만들어주세요.

참고로 Form1.vb 파일을 첨부합니다. 참고하세요.^^;;


궁금하신 사항이 있으시면 댓글이나 이메일로 문의를 주세요. 그럼 이만 마칩니다.

Posted by 원철연(체르니)
,
오늘은 폼 디자인하는 법에 대해서 간략하게 다뤄볼까 합니다.

먼저 새로운 프로젝트를 엽니다.
사용자 삽입 이미지















프로젝트명을 MyShopping으로 생성합니다.
생성된 프로젝트에서 Form1.vb를 클릭하여 컨트롤들을 배치합니다.

먼저 폼에 배치한 컨트롤들의 속성들을 다음과 같습니다.
사용자 삽입 이미지

















그러면 배치한 그림을 볼까요?
사용자 삽입 이미지























위 그림에서 폼에 어떻게 그림을 넣었을까 궁금하시진 않은가요? BackGroundImage에서
원하는 그림을 선택해주면 적용이 됩니다.
자신이 직접 포토샾같은 디자인툴로 배경 이미지를 만들어 폼 바탕으로 해서 프로그램을
만들면 괜찮겠죠^^;;

(바탕그림은 d&shop을 캡쳐해서 수정해서 사용했습니다. 혹시라도 문제가 있으시면
 제게 댓글이나 이메일(cywon11@empal.com)으로 주시면 삭제토록 하겠습니다.)

다음으로  GroupBox1, GroupBox2의 바탕을 투명하게 만들어 보겠습니다.
GroupBox의 속성상자에서 변경해주면 되는데요. 아래와 같이 하시면 됩니다.

사용자 삽입 이미지


























Web 탭에서 Transparent(투명한)을 선택해주면 됩니다. 쉽지요?
이렇게 해서 최종적으로 간단하게 만들어 본 화면은 아래와 같습니다.
사용자 삽입 이미지


이상으로 간략하게 폼 디자인을 알아봤습니다.
ListBox와 ComboBox는 BackColor를 투명하게 하는 기능을 지원하지 않고 Button컨트롤은 지원되는데 제가 실력이 달려서 찾지를 못했습니다. 혹시 아시는 분은 댓글 남겨주시면 감사하겠습니다. 그럼 오늘은 이만하지요.
Posted by 원철연(체르니)
,

오늘의 학습내용

1. Label, Button, CheckBox, PictureBox, Group 컨트롤 사용
2. CheckBox
가 선택될 때마다 이미지 보여주고 감추기 기능 배우기
3.
조건문, Form Load시 초기화 해주기


학습순서
1. 새로운 프로젝트를 생성

2. 필요한 컨트롤들을 폼에 배치한다.

3. 각 컨트롤들의 속성 및 폼의 초기화 진행

4. 실행해본다.

 
1. 새로운 프로젝트를 생성

사용자 삽입 이미지















2.
필요한 컨트롤들을 폼에 배치한다.


사용자 삽입 이미지
























3.
각 컨트롤들의 속성 및 폼의 초기화 진행

CheckBox1 관련
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles CheckBox1.CheckedChanged

   '체크박스1이 체크된 상태이면 픽쳐박스1을 화면에 보여주고 그렇지 않으면 보이지
        않게 하라는 조건문

        If CheckBox1.Checked = True Then
            PictureBox1.Image = System.Drawing.Image.FromFile("E:\컴퓨터\Visual Basic
            NET\2008\티스토리에 올릴 강좌\강좌 2\황학루.jpg")
            PictureBox1.Visible = True
        Else
            PictureBox1.Visible = False
        End If
   
End Sub

CheckBox2 관련
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles CheckBox1.CheckedChanged

   '체크박스2이 체크된 상태이면 픽쳐박스2을 화면에 보여주고 그렇지 않으면 보이지
        않게 하라는 조건문

        If CheckBox2.Checked = True Then
            PictureBox2.Image = System.Drawing.Image.FromFile("E:\컴퓨터\Visual Basic
            NET\2008\티스토리에 올릴 강좌\강좌 2\하늘위에서.jpg")
            PictureBox2.Visible = True
        Else
            PictureBox2.Visible = False
        End If
   
End Sub

    PictureBox1, PictureBox2 관련
    PicutreBox1.Image 속성에 PictureBox1에 표시할 이미지를 선택해주고
    PicutreBox1.SizeMode는 StretchImage로 해준다.

    Form1 관련
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
     System.EventArgs) Handles MyBase.Load

 
       '폼을 로드할 때 초기화해 줌
        CheckBox1.Checked = True
        CheckBox2.Checked = False

        PictureBox1.Visible = True
        PictureBox2.Visible = True
    End Sub


4. 실행해본다.

사용자 삽입 이미지























[참고] 샘플파일

invalid-file

샘플파일


이상으로 2번째 시간을 마칩니다. 참고로 올린 샘플 프로그램에서
사용된 이미지들은 다른 것으로 변경하여 적용해 보시면 될 듯 합니다.

Posted by 원철연(체르니)
,