2024. 7. 29. 23:47ㆍC#
안녕하세요. 진득 코딩입니다. 이번 시간에는 저번 시간에 다루지 않았던 기본적인 도구 상자들에 대해서 살펴보도록 하겠습니다.
체크 박스는 라디오버튼과 다르게 중복 선택을 허용할 때에 사용합니다. 해당 체크 박스의 사용법은 라디오 버튼과 흡사하며 이벤트에 코드를 적어주기 위해서는 해당 체크박스를 더블 클릭하여 생성합니다.
콤보 박스는 여러 가지 옵션 중 하나를 선택할 때 사용합니다. 콤보박스를 생성하게 되면 dropdown 바가 생성되게 되고 .cs에서 아이템 요소를 추가, 제거, 정보 가져오기를 할 수 있습니다. 추가할 때에는 Add, 삭제할 때에는 Remove를 사용하시면 됩니다.
리스트 박스
리스트 박스는 말 그대로 리스트 박스에 들어가 있는 아이템들을 쭉 나열해주는 도구입니다. 각각 선택할 수 있고 .cs에서 Add를 사용하여 요소를 추가해줄 수 있습니다.
.cs에서 데이터를 리스트 박스에 바인딩해서 위와같이 사용할 수도 있습니다. 원하는 Text나 Value에 {Binging} 해서 데이터를 가져올 수 있습니다.
.cs에 있는 코드를 살펴보도록 하겠습니다. 우선 animals 클래스를 만들고 get, set을 넣어줍니다. 그 이후에 리스트에 각각의 value들을 실어주고 해당 리스트를 ItemsSource에 넣어주면 리스트박스로 전달이 됩니다.
웹 브라우저
도구 상자에서 웹 브라우저를 drag&drop을 한 후에 해당 webBrowser에 이름을 부여하고 해당 이름을 이용해서 .Navigate를 해서 홈페이지 주소를 입력하면 해당 주소로 갈 수 있게 됩니다.
웹 브라우저 실습해보기
해당 애플리케이션을 켜게 되면 위와 같은 화면을 보실 수있습니다. 오른쪽에 웹브라우저 화면과 주소창, 뒤로가기 버튼과 앞으로 가기 버튼이 있습니다. 왼쪽에는 즐겨찾기 창을 보실 수 있습니다.
위와 같이 주소창에 홈페이지의 주소를 입력한 후 Go 버튼을 누르게 되면 해당 URL로 이동하게 됩니다. 이 상태에서 Back 버튼을 누르게 되면 전에 있던 마이크로소프트 홈페이지로 가게 되고 그 상태에서 Forward를 누르게 되면 다음 홈페이지로 돌아오게 됩니다.
Favorite는 즐겨찾기 버튼으로 Add가 선택되어 있는 상태에서 Favorite 버튼을 누르게 되면 현재 URL을 ListBox에 저장하게 됩니다.
즐겨찾기에 추가되어있는 주소를 클릭한 상태에서 Load로 라디오 버튼을 옮긴 후에 Favorite 버튼을 누르게 되면 해당 URL로 이동하게 됩니다.
XAML을 살펴보게 되면 DockPabel을 사용하여 웹 브라우저를 할당하였습니다. 해당 판넬 밑에 필요한 주소창과 버튼들이 있습니다. 밑에 다른 Grid로 묶어놓은 부분은 즐겨찾기로 즐겨찾기에서 사용했던 ListBox나 버튼들을 확인할 수 있습니다.
처음에 생성자에서 InitializeWebViewSource()를 실행합니다. 해당 메서드에 대해서는 밑에서 자세히 살펴보도록 하겠습니다.
위에서 사용한 즐겨찾기는 프로그램이 켜지면서 가져와야 되기 때문에 생성자가 있는 클래스에서 불러오는 메서드를 만들어주었습니다. 밑에 있는 window_Closing에서는 즐겨찾기에 있는 항목들을 저장해서 가지고 있는 역할을 하게 됩니다.
각각 웹브라우저에 있던 go 버튼, back 버튼, forward 버튼입니다. WPF를 사용하면 위와 같이 간단한 코드로 웹 브라우저에 있는 기본적인 기능들을 쉽게 구현할 수 있습니다.
처음에 생성자에 있던 메서드입니다. InitializeWebViewSource()를 살펴보게 되면 주소창에 있는 텍스트를 webBrowser 소스로 할당하는 역할을 하게 됩니다. favorite 버튼을 살펴보게 되면 어떤 라디오 버튼에 체크되어 있는지에 따라서 다른 기능을 할 수 있도록 코드를 작성해보았습니다.
이번 시간에는 웹브라우저와 체크박스, 콤보박스, 그리고 리스트박스에 대해서 살펴보았습니다. 모두 다 유용한 도구들이기 때문에 숙지하고 다음에 써먹을 수 있다면 큰 도움이 될 것 같습니다. 이번 포스팅은 여기까지입니다. 끝까지 봐주셔서 감사합니다.😀
'C#' 카테고리의 다른 글
[C#] DataFrame으로 표 형식의 데이터를 처리해보자 (0) | 2024.07.31 |
---|---|
[C#] ScottPlot로 차트를 생성해보자 (0) | 2024.07.30 |
[C#] WPF 종합적인 도구 상자들을 살펴보자 (0) | 2024.07.29 |
[C#] DataGrid로 표 형태의 데이터를 다뤄보자 (0) | 2024.07.29 |
[C#] WPF에 있는 imageBox를 활용해보자 (0) | 2024.07.29 |