반응형
메뉴, 버튼의 Click 이벤트를 처리할 때, 하나의 메서드로 통합하려면
이전에는 if~else if문을 엄청나게 써댔다.
if문에도 sender as ToolStrip~~ 식으로 바꾸고 == 비교하고...{ }중괄호 쓰고...
같은 역할을 하는 버튼인데도 같은 if문을 또 써야 하고...
switch 패턴 매칭으로 코드를 줄여보자.
private void menu_Click(object sender, EventArgs e)
{
switch (sender)
{
case { } x when x == menu_1번:
break;
case { } x when x == menu_2번:
case { } x2 when x2 == button_1번:
// 메뉴버튼과 툴바버튼 처럼 클래스가 달라도 묶어서 사용 가능
break;
case { } x when x == menu_3번:
break;
case var x when x == image_1:
// 그림을 왜 누르니
break;
}
}
sender as Type 필요 없음
x 변수는 쓰고 싶은대로...
break를 만나기 전까지 여러 case를 묶을 때는 변수명이 달라야 함.
{ }는 catch-all. 교과서대로 하려면 var를 사용한다.
반응형
'PC&웹 > VS프로그래밍' 카테고리의 다른 글
SQL WHERE BETWEEN 구문 (0) | 2022.08.19 |
---|---|
(C#) 이지데이 스타일의 가계부 개발 중... (6) | 2022.08.12 |
Visual Studio Code C++ 컴파일 하기 (0) | 2022.08.06 |
ConfuserEX가 적용된 DLL 참조시 오류 발생할 때 (0) | 2022.02.06 |
C# 클래스 기본 접근 형식 (0) | 2021.06.26 |
댓글0