728x90
반응형

IT/C# 76

[C#] 가계부 프로그램 만들기 DAY3. 가계부 입력하기

이번 시간은 본격적으로 가계부 입력타임! 가계부에서 제일 중요한 부분이겠죠? ㅎㅎ 입력을 위한 환경 설정, 가계부 내역 입력하기, 내역 수정하기 포스팅 시작해 보겠습니다! 첫 번째. 입력 환경 세팅하기 UI는 위와 같으며, 위의 구분, 계정, 입/출금 구분, 입/출금 기준 4개의 콤보박스에 대해서 각각의 선택에 따라 다음 콤보박스 입력 값이 바뀌도록 코딩했습니다. 아래에서 각각의 SelectedIndexChanged 이벤트에 대해 알아보겠습니다. [1] 날짜입력 아래에는 DateTimePicker로 날짜를 선택할 수 있도록 했습니다. [2] 구분(cbUseType)에는 수입/지출/계좌이동을 선택할 수 있는 comboBox를 위치했습니다. ComboBox Item에 수입, 지출, 계좌이동의 값을 등록하고 ..

IT/C# 2020.03.02

[C#] 가계부 프로그램 만들기 DAY2. 프로그램 UI 생성 및 가계부 기본 설정하기

DAY2 포스팅으로 돌아온 Ella 입니다! 이번 포스팅에서는 가계부 UI를 만들고 기본적인 가계부 설정을 위한 파트입니다. 사실 설정은 한 번 등록해놓고 거의 안 바뀌기 때문에 중요한 파트는 아닌데, 그래도 여기서 DB 설정을 직접 쿼리작성해주고 다음부터는 사용하지 않게 하기 위해서 꼭 필요한 부분이라고 볼 수 있습니다. 첫 번째. UI 만들기 DAY1에서도 말했듯이, UI는 각자 취향에 맞게 만들어 주시면 됩니다! 저는 TabPage를 생성해서 각각의 HOME, Account Book, Setting 3개의 Tab을 만들었습니다. 기본적으로 들어갈 기능에 필요한 UI는 다음과 같습니다. Home 탭에서는 누적 수입 / 지출 현황, 통장 잔액, 이번 달 수입 / 지출에 필요한 Label 6개와 Data..

IT/C# 2020.02.29

[C#] 가계부 프로그램 만들기 DAY1. Database 설정 및 연결

새해 다짐으로 올해도 돈을 한 번 조금만 써보자.. 돈 관리를 해보자.. 하는 바람에서 가계부를 만들어보기로 했습니다. 부자가 되는 그날까지 돈을 열심히 벌고 열심히 관리하자는 의미도 있고, 블로그도 더 열심히 하기 위해서! 4차에 걸쳐 포스팅을 할 계획이며, 굉장히 기본(?)적인 것만 포스팅할 예정입니다. 다들 쉽게 따라할 수 있을 거라 생각됩니다..ㅎㅎ 주의! 부족한 점이 많습니다. 감안하여 봐주시고 부족한 점은 피드백 겁나 환영합니다 : ) 미적인 요소는 제외하고 만들었습니다. 각자 취향껏 UI를 꾸며보세요! 첫 번째. DB 생성 및 사용자 추가/권한 부여 일단 기본적으로 사용할 데이터베이스 이름, 서버, 사용자 ID, Password 이름은 다음과 같습니다. 이것을 먼저 설정해보도록 하겠습니다. ..

IT/C# 2020.02.28

[C#] 키 입력에 따른 PictureBox Image 분할창 띄우기

프로그램 개발 중 측정 이미지를 4 분할하여 키패드의 키를 누르면 각 분할 화면이 보이도록 하는 요청이 있었다. 위와 같이 이미지에서 화면을 4 분할하여 키패드의 각 숫자를 누르게 되면 해당하는 화면 분할이 보이도록 하였다. 간단하게 Form1에 PicturBox1 하나를 생성해 주고, KeyDown 이벤트를 사용하기 위해 Form1 속성에서 KeyPreview 를 True로 변경해준다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Bitmap bmp; Form form2; PictureBox pictureBox2; private void Form1_Load(object sender, EventArgs e) { bmp = new Bitmap(@"E:/2020_Di..

IT/C# 2020.01.06

[C#] Unsafe Code 사용하기 (pointer 사용하기)

C#에서 Pointer를 사용하기 위해서는 Unsafe Code를 사용해야 한다. 예시로 아래와 같은 SwapNumber 라는 함수를 포인터를 이용해서 만들어 봤다. 그냥 포인터만 사용해서 함수를 짜면 다음과 같이 포인터 사용 부분에 에러가 뜨고, unsafe 코드를 추가해줬을 때는 다음과 같이 에러가 뜬다. 그래서, C#에서 포인터를 쓰기 위해서는 다음과 같이 해야 한다. 먼저, 프로젝트 우클릭 후 속성(Properties)으로 들어간다. 속성 창의 왼쪽에서 Build를 클릭한 후, 일반(General)에 있는 Allow unsafe code를 체크해준다. 그럼 이제 정상적으로 포인터를 사용할 수 있다!

IT/C# 2019.11.29

[C#] CultureInfo와 Resources File을 사용하여 Multi Language 다국어 지원하기

중국에 새로운 프로그램을 적용하기 위해 다국어 지원 가능 프로그램을 만들게 되었다. Visual Basic으로 기존에 사용했을 때는 각 label, button 등에 적용하기 위해 String 배열을 선언해 놓고 선택한 Language에 따라 다른 배열을 적용하도록 했었는데, 신규 프로그램에서는 String을 한 번에 관리하기 쉬운 Resources File을 사용하여 개발해보기로 하였다. 먼저, 새로운 Windows Form App 프로젝트를 생성해준다. 그런다음 프로젝트를 우클릭해서 New item을 추가해준다. Resources File을 선택해준 후 이름을 입력한다. 지원할 언어의 개수에 따라 Resources File을 생성한다. 영어, 한국어, 중국어 지원을 위해 3개의 Resources Fi..

IT/C# 2019.06.05

[C#] Mouse Event를 통해서 Picturebox 포인트 사이 거리 구하기

PictureBox Mouse Drag로 사각형 그리기 PictureBox 클릭 시 마우스 포지션 가져오기 두 포인트 사이에 거리 계산하기 MouseDown, MouseMove, MouseUp Event 마우스 다운 이벤트(picturebox1_MouseDown)에서의 시작 포인트( X1, Y1 ) 값과 마우스 업 이벤트(picturebox1_MouseUp)에서의 마지막 포인트( X2, Y2 ) 값을 통해 각 포인트 사이의 거리, 즉, 표시된 사각형의 대각선 길이를 구하는 코드이다. 두 포인트 사이의 거리는 우리가 잘 알고 있는 수학공식을 이용하여 계산하였다. 이를 코드로 나타내면 아래와 같다. double distance = Math.Sqrt(Math.Pow((e.X - clickPoint.X), 2)..

IT/C# 2019.05.31

[C#] Picturebox 위에 Grid 격자 모눈종이 그리기

간단한 방식으로 Picturebox 위에 Grid 격자 모눈종이 무늬 그리기 picturebox 속성에서 Paint Event를 생성해주고 아래와 같이 코딩한다. Pen pn을 선언하고 격자 간격을 증감자에서 정해준다. 간격만큼 증가시켜서 그려주면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 private void pbZoom_Paint(object sender, PaintEventArgs e) { int Xn = pbZoom.Width; int Yn = pbZoom.Height; Pen pn = new Pen(Color.FromArgb(150, 255, 255, 255)); for (int y = -3; y

IT/C# 2019.05.29

[C#][Database] Mysql Database 연결하기

2020/02/28 - [IT] - [C#] 가계부 프로그램 만들기 DAY1. Database 설정 및 연결 [C#] 가계부 프로그램 만들기 DAY1. Database 설정 및 연결 새해 다짐으로 올해도 돈을 한 번 조금만 써보자.. 돈 관리를 해보자.. 하는 바람에서 가계부를 만들어보기로 했습니다. 부자가 되는 그날까지 돈을 열심히 벌고 열심히 관리하자는 의미도 있고, ella-devblog.tistory.com 2020.10.15 포스팅 수정 가계부 프로그램에서 사용하기 위해 DBMySql 클래스를 수정하였습니다. 각각의 Select, Insert, Update, Delete 함수는 사용자가 사용방식에 맞게 수정하여 사용할 수 있습니다. String Sql 구문에서 DataBase에서 입력할 쿼리를 ..

IT/C# 2019.05.27

[C#][Solved] System.ArgumentOutOfRangeException: 'InvalidArgument=Value of '-1' is not valid for 'index'.

ListBox를 좀 이쁘게^^ 만들어보려고 DrawItem 속성을 이용하는 도중에 에러가 났다. (DrawItem 안에는 ListBox 값 선택 시 배경화면을 LightCoral 색으로 색칠하게 했다.) System.ArgumentOutOfRangeException: 'InvalidArgument=Value of '-1' is not valid for 'index'. ListBox를 Clear() 해주고 다시 재생목록을 가져오는 부분에서 DrawItem 이벤트를 계속 호출해서 리셋된 Index 값 -1을 참조하는 것 같았다. 그래서 DrawItem 코드 실행문을 if문 안에 넣어줬다. e.Index > -1 일때만 실행하도록! 그랬더니 잘된다! Success! : )

IT/C# 2019.04.03
728x90
반응형