본문 바로가기
개발일지/C#

윈폼 예제

by 태운콩즙 2024. 11. 13.
728x90
반응형

창고 관리 gui를 만들어보자

이름 윈도우 개체 종류 속성값 설정

cbItem ComboBox Item 속성에 제품 리스트 입력
(캠코더,모니터,컴퓨터,책상,의자)    
dtDate DateTimePicker  
tbQty TextBox  
rbIn RadioButton Text 속성을 “입고”로 설정
Checked 속성을 true로 설정    
rbOut RadioButton ext 속성을 “출고”로 설정
Checked 속성을 true로 설정    
btAdd Button Text 속성을 등록으로 설정
btDelete Button Text 속성을 삭제로 설정
lvInOutList ListView FullRowSelect 속성 true
GridLine 속성 true    
View 속성 Details 설정    
Columns 속성을 클릭하고 아래 4개의 열을 등록    
제품명 Width:60    
수량 Width:60    
입출고 Width:60    
날짜 Width:180    

등록 버튼을 더블 클릭하면 이벤트 헨들러가 생기고 {} 내부에 아래와 같은 코드를 작성한다

<btAdd_Click>

private void btAdd_Click(object sender, EventArgs e)
{
    string name = cbItem.Text; // 제품명
    string qty = tbQty.Text; // 수량
    string inotut = ""; // 라디오버튼 클릭에 따라 저장될 변수
    if (rbIn.Checked == true)
    {
        inotut = "입고";
    }
    else
    {
        inotut = "출고";
    }
    string data = dtDate.Text; // 날짜정보 불러오기

    string[] stringArray = new string[] {name, qty, inotut , data};
    ListViewItem item = new ListViewItem(stringArray);
    lvInOutList.Items.Add(item);
}

삭제 버튼 이벤트 헨들러

<btDelete_Click>

        private void btDelete_Click(object sender, EventArgs e)
        {
            if (lvInOutList.SelectedItems.Count > 0)
            {
                lvInOutList.Items.Remove(lvInOutList.SelectedItems[0]);
            }
        }
    }
}

<전체 코드>

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 InventoryFrom_ex
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            // listBox 설정
            lvInOutList.FullRowSelect = true;
            lvInOutList.GridLines = true;
            lvInOutList.View = View.Details;
            lvInOutList.Columns.Add("제품명",60);
            lvInOutList.Columns.Add("수량",60);
            lvInOutList.Columns.Add("입출고", 60);
            lvInOutList.Columns.Add("날짜",180);
        }

        private void btAdd_Click(object sender, EventArgs e)
        {
            string name = cbItem.Text; // 제품명
            string qty = tbQty.Text; // 수량
            string inotut = ""; // 라디오버튼 클릭에 따라 저장될 변수
            if (rbIn.Checked == true)
            {
                inotut = "입고";
            }
            else
            {
                inotut = "출고";
            }
            string data = dtDate.Text; // 날짜정보 불러오기

            string[] stringArray = new string[] {name, qty, inotut , data};
            ListViewItem item = new ListViewItem(stringArray);
            lvInOutList.Items.Add(item);
        }

        private void btDelete_Click(object sender, EventArgs e)
        {
            if (lvInOutList.SelectedItems.Count > 0)
            {
		            // 리스트 박스에서 선택된 첫벗째 항목 삭제
                lvInOutList.Items.Remove(lvInOutList.SelectedItems[0]);
            }
        }
    }
}

728x90
반응형

'개발일지 > C#' 카테고리의 다른 글

영업 관리 예제 (DB 연동)  (0) 2024.11.15
텍스트 형태의 파일 입출력 예제  (0) 2024.11.12
파일 파싱 예제  (0) 2024.11.11
회계 관리 프로그램 예제  (1) 2024.11.09
인사 급여 관리 프로그램 예제  (0) 2024.11.08