반응형

C# 윈도우 폼 기반의 헬로우 예제 (텍스트상자, 버튼, 지연) 

 

글.  오상문 sualchi@daum.net 

 

(1) 윈도우 폼 기반의 C# 프로젝트를 만듭니다. (이름은 기본 사용: WindowsFormsApp1) 

 

(2) 폼 화면 디자인은 다음과 같습니다. 

 

(3) 각 버튼을 더블클릭하여 다음처럼 코딩합니다. 

붉은색 부분이 추가한 부분입니다. 

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApp1

{

    public partial class Form1 : Form

    {

        private int hello = -1;   // 인사를 두 종류로 번갈아가며 하기 위한 상태 변수

 

        public Form1()

        {

            InitializeComponent();

        }

 

// 지연 함수입니다. 1/1000초 단위로 기다립니다. 

// 참고 출처: 

http://junibong.tistory.com/11

        private static DateTime myDelay(int ms)

        {

            DateTime ThisMoment = DateTime.Now;

            TimeSpan duration = new TimeSpan(0, 0, 0, 0, ms);

            DateTime AfterWards = ThisMoment.Add(duration);

 

            while (AfterWards >= ThisMoment)

            {

                System.Windows.Forms.Application.DoEvents();

                ThisMoment = DateTime.Now;

            }

            return DateTime.Now;

        }

 

// 인사 단추를 클릭하면 동작

        private void button1_Click(object sender, EventArgs e)

        {

            hello *= -1;   // 상태 변수를 바꿈

            if (hello == 1) // 상태 변수 값에 따라 인사함

                textBox1.Text = "반가워요!";

            else

                textBox1.Text = "안녕하세요?";

        }

 

// 종료 단추를 클릭하면 동작

        private void button2_Click(object sender, EventArgs e)

        {

            textBox1.Text = "또 만나요...";   // 종료 인사

            myDelay(2000);                      // 2초 기다림 

  Close();                                 // 프로그램 종료 

        }

    }

}

 
 
[참고] 메시지 상자를 이용하여 인사하기 
인사를 출력할 때 다음처럼 메시지 상자를 이용하는 것도 가능합니다.  
MessageBox.Show("안녕하세요!");

 

<이상>

 

 

반응형

+ Recent posts