본문 바로가기

후쿠오카 개발자모임/주차장 관리시스템

[C#] 주차장 관리시스템 #1

반응형

교육을 진행하면서 필요한것들과 느낀점들을 정리해본다.

개별적인 학습을 목적

 

<주제>

주차장관리시스템

 

<생각할것>

흔히 우리가 목격하게되는 주차장 시스템은 어떤식으로 이루어져있는가?

 

1. 입고

2. 정산

3. 금액을 지불

4. 출고

 

무인시스템의 주차장 관리 시스템을 만들어보도록한다.

 

폼의 디자인

주차관리시스템

 

입고버튼 : 차량이 입고되었을때의 이벤트

 - 라벨 = 입고시간

출고버튼 : 차량이 출고되었을때의 이벤트

 - 라벨 = 현재시간과 입고시간을 계산해서 몇분 주차중인지를 보여줌

현재금액 : 단위시간과 더불어서 현재 정산해야할 금액을 리얼타임표시 (1분단위 갱신)

 

타이머배치 : 화면상은 보이지않지만, 현재시간과 입고시간의 차이를 이용해서 금액을 보여줘야하므로 디자이너에 하나 추가해준다. (코드상에 넣어도 무관)

 

타이머 인터벌1000(1초)

        /// <summary>
        /// 화면로드이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmParkingManagement_Load(object sender, EventArgs e)
        {
            timerMain.Start();
        }

frmParkingManagement_Load 이벤트에서 타이머를 스타트해준다.

 

그리고 여기까지 준비가 되었으므로

타이머의 Tick 이벤트에 아래와같이 코드를 추가해준다.

        /// <summary>
        /// Timer Tick 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timerMain_Tick(object sender, EventArgs e)
        {
            lblNowTime.Text = DateTime.Now.ToString("HH:mm:ss");
        }

<참고> 

 

Timer 클래스 (System.Windows.Forms)

사용자가 정의한 간격마다 이벤트를 발생시키는 타이머를 구현합니다.Implements a timer that raises an event at user-defined intervals. 이 타이머는 Windows Forms 애플리케이션에서 사용할 수 있도록 최적화되었

docs.microsoft.com

DateTime.Now 는 현재의 시스템시간을 나타내는것이고 

ToString("HH:mm:ss"); 이부분은 시스템시간 전체에서 HH는 시간 / mm 은 분 / ss 는 초 를 출력하겠다는 설정이다.

 

 

DateTime 구조체 (System)

일반적으로 날짜와 시간으로 표시된 시간을 나타냅니다.Represents an instant in time, typically expressed as a date and time of day.

docs.microsoft.com

 

 

여기까지 했으면 한번 실행을 해보자.

아래와같이 될것이다.

 

 

지금까지 만든내용의 실행결과

일단 

여기까지 완성되었다.

 

다음글에서는 입고기능 / 출고기능 에 대해서 다루어 보도록 하겠다.

 

 

소스는 아래에서 최신판을 다운받을수있습니다.

 

sungmanko/ParkingManagement

ParkingManagement. Contribute to sungmanko/ParkingManagement development by creating an account on GitHub.

github.com

 

반응형