본문 바로가기

C#

C# Window Form 계산기 만들기(2)-3

1. 입력값에 대한 validation 처리

 private void SumNumbers_Click(object sender, EventArgs e)
        {
            int number1 = 0;
            int number2 = 0;
            // String.IsNullOrWhiteSpace => 값이 공백인지 null인지 판별
            // int.TryParse(string s, out int result) => 첫번째 매개변수에 담긴 string 값이 정수인지 판별 후 두 번째 매개변수인 변수에 저장
            // Focus(): 해당 component에 포커싱
            // SelectAll(): 해당 component의 value를 바꿀 수 있게 표시
            // Validation: 사용자로부터 다른 파일로 부터 값을 읽을때 사용 여부
            if (String.IsNullOrWhiteSpace(Sum1.Text)) 
            {
                MessageBox.Show("Sum1에 숫자를 입력해주세요.");
                Sum1.Focus();
                return;
            }
            if(!int.TryParse(Sum1.Text, out number1))
            {
                MessageBox.Show("Sum1에 문자가 들어왔습니다. 숫자를 입력해주세요.");
                Sum1.SelectAll();
                Sum1.Focus();
                return;
            }
            if(String.IsNullOrWhiteSpace(Sum2.Text))
            {
                MessageBox.Show("Sum2에 숫자를 입력해주세요.");
                Sum2.Focus();
                return;
            }
            if (!int.TryParse(Sum2.Text, out number2))
            {
                MessageBox.Show("Sum2에 문자가 들어왔습니다. 숫자를 입력해주세요.");
                Sum2.SelectAll();
                Sum2.Focus();
                return;
            }

            int sum = number1 + number2;
            SumResult.Text = Add(number1, number2).ToString()+", " +sum.ToString()+", "+Add2(number1, number2).ToString();
        }

2. 적용 내용

if (String.IsNullOrWhiteSpace(Sum1.Text)) 
            {
                MessageBox.Show("Sum1에 숫자를 입력해주세요.");
                Sum1.Focus();
                return;
            }

IsNullOrWhiteSpace() 메서드를 이용하여 Sum1.Text로 받아온 값이 공백 또는 null값인지 판별 후 true일 경우 알림창을 띄어주고 Sum1 입력칸에 포커싱을 한 뒤 return 해준다. (Sum2 에 대한 입력값도 동일하게 처리)

if(!int.TryParse(Sum1.Text, out number1))
            {
                MessageBox.Show("Sum1에 문자가 들어왔습니다. 숫자를 입력해주세요.");
                Sum1.SelectAll();
                Sum1.Focus();
                return;
            }

int.TryParse(string s, out in result) 메서드를 이용하여 Sum1.Tex로 받아온 값이 정수인지 판별 후 true일 경우 number1 변수에 값을 저장하고 false일 경우 알림창을 띄어주고 Sum1 입력칸에 포커싱과 값을 바꿀 값을 표시해준다. (Sum2 에 대한 입력값도 동일하게 처리)

'C#' 카테고리의 다른 글

C# Window Form 계산기 만들기(2)-4  (1) 2023.03.22
C# Window Form 계산기 만들기(1)-2  (0) 2023.03.21
C# 개념-1  (0) 2023.03.21