2024. 7. 29. 22:00ㆍC#
안녕하세요. 진득코딩입니다. 이번 시간에는 도구 상자의 기본적인 기능들을 종합적으로 살펴보도록 하겠습니다.
많이 사용되는 도구 상자들
많이 사용되는 도구상자들입니다. 이번 시간에는 탭 컨트롤, 그룹박스, 라이오 버튼, 슬라이더에 대해서만 다뤄보도록 하겠습니다.
탭 컨트롤
탭 컨트롤은 여러 컨트롤들을 한정된 공간에 여러 탭을 넣어줄 수 있는 도구입니다. 선택된 탭에 있는 컨트롤만 표시되어 있다가 탭을 변경하게 되면 선택되지 않은 탭의 컨트롤은 모두 숨김 처리됩니다.
그룹박스
그룹 박스는 특별한 기능이 있는 것은 아니지만 시각적으로 정돈된 느낌을 주는 도구입니다. Grid로 싸주면 컨트롤을 생성하는 것이 좀 더 편리해집니다.
라디오 버튼
MBTI 검사와 같이 중복되지 않은 선택을 할 때에 한번씩 보셨을 라디오 버튼입니다. GroupName이 같은 라디오끼리는 한 그룹으로 설정되어 같은 그룹끼리는 중복된 선택이 되지 않습니다.
위와 같이 라디오 버튼을 체크하거나 체크를 풀었을 때의 이벤트에 원하는 코드를 넣을 수 있습니다. 해당 메서드 자체가 버튼이 클릭되었을 때의 이벤트이기 때문에 if문이 꼭 필요하지는 않습니다.
슬라이더
슬라이더는 실시간으로 변화하는 값을 사용할 때에 유용한 도구입ㄴ디ㅏ. Tick 관련 속성으로 이동 단위도 설정이 가능합니다. 슬라이더의 값을 표현해주기 위해서 label을 많이 사용하는데 이런 label을 사용하기 위해서는 위와같이 slider의 value를 label의 content에 넣어서 표현해주시면 됩니다.
슬라이더 종합 실습
일단 시연부터 살펴보도록 하겠습니다. 처음 프로그램을 실행하게 되면 라디오 버튼이 세개가 보이고 해당 그룹박스 밑에 slider가 세개가 있습니다. 각각 라벨이 붙어있고 범위도 라벨로 표현해주었습니다. 각 슬라이더의 상단에 있는 라벨에는 현재 슬라이더의 값을 표현해줍니다.
슬라이더를 바꾸게 되면 각각의 색에 따라서 창의 배경색이 바뀌게 됩니다. original로 설정했을 때에는 보편적으로 알고 있는 빛의 3요소에 의해서 색상이 바뀌게 됩니다.
마지막에 있는 invert 버튼을 누르게 되면 original과 비교했을 때 색상이 반전되어서 나옵니다.
가운데 있는 Gray Tone을 선택하게 되면 색상이 흑백 처리 되어서 나오게 됩니다. 해당 프로그램의 코드를 살펴보도록 하겠습니다.
처음에 생성자에는 따로 추가한건 없고 슬라이더의 value를 담을 byte 변수들만 선언과 초기화해주었습니다.
각각의 슬라이더의 변화에 따라서 슬라이더의 값을 byte값에 넣고 각각의 라벨의 값에 추가해주었습니다. 그 이후 변동사항을 UpdateBackgroundColor 메서드를 사용하여 창의 배경화면을 바꿔주었습니다.
위 메서드에서 호출된 UpdateBackgroundColor 메서드입니다. 각각의 버튼이 체크 되어있는지 확인하고 체크된 라디오 버튼에 따라서 배경화면 색상을 변동하도록 하였습니다. original은 그냥 기본적인 Brush를 사용하였습니다. 흑백 처리를 할때에는 모든 value들의 값의 평균을 똑같이 입력해주었습니다. 반전 처리를 할 때에는 max값인 255에서 각각의 value값을 뺀 값을 적용해주었습니다.
마지막으로 각각의 버튼이 클릭되면 바로 배경색이 바뀔 수 있도록 각각의 라디오 버튼이 체크되는 이벤트가 생기면 UpdateBackgroundColor() 메서드가 실행되도록 설정해주었습니다.
이번 시간에는 기본적인 도구 상자들, 특히 슬라이더를 사용하여 간단한 프로그램을 만들어보았습니다. 이번 시간은 여기까지입니다. 끝까지 봐주셔서 감사합니다.😀
'C#' 카테고리의 다른 글
[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 |
[C#] WPF를 이용하여 C# 개발하기 (0) | 2024.07.29 |