728x90
반응형

Winform 27

[C#] 윈도우 그림판 기능 구현해보기 (PictureBox 그리기 기능, Undo/Redo 기능, 단축키 사용 방법)

그림판에 여러 기능들 중에서 크게 두 가지 기능을 구현해보겠습니다. 1. 도형(사각형, 원형, 선형직선) 그리기 기능과 2. 실행 취소(Undo)/다시 실행(Redo) 기능 두 가지 입니다. 그리고 흔히들 사용하는 Ctrl + Z / Ctrl + Shift + Z 단축키 기능도 추가해보겠습니다. 1. 메인화면 구성 먼저, 메인화면 구성입니다. Winform 기본 도구상자에서 PictureBox, MenuStirp을 가져와서 다음과 같이 만듭니다. 각각의 이름은 menuStrip에서 입력한 메뉴 이름이 앞에 자동으로 붙게 되므로 변경하지 않으셔도 됩니다. menu 구성은 아래 사진과 같이 적용해주면 됩니다. UI는 간단하게 위와 같이 만들고, 코드 작성으로 넘어가보겠습니다. 2. 코드 작성 - 전역 변수 ..

IT/C# 2020.10.16

[Program] Auto Click Program. 매크로 프로그램.

*** 주의 *** 매크로 프로그램 악용은 금물입니다. Auto Click Program. 다른 말로 매크로 프로그램. C# 이용해서 간단하게 만들어 봤습니다. 총 5개의 마우스 포인터 위치를 설정할 수 있고, USE 아래의 체크박스에서 사용 여부를 클릭해 줍니다. 각 포지션은 SET 버튼 클릭 후 마우스를 원하는 위치에 두고 스페이스바를 눌러 설정합니다. 각각의 타이머 값을 입력하고 꼭 타이머 설정을 해줍니다. 타이머 값은 ms로 1s = 1000ms 이며, START 버튼을 누르면 자동 클릭 프로그램이 실행됩니다. 또한, Count를 추가하여, Count 값을 입력하고 선택하면 입력한 횟수만큼 클릭이 자동 실행됩니다. 프로그램은 항상 최상위에 위치하게 하였습니다. 프로그램 정지는 STOP 버튼을 눌러..

IT/C# 2020.03.18

[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#] 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# winform] TextBox 커서 자동으로 깜빡이게

메인 폼에서 서브 폼을 열 때,서브 폼을 열 떄마다 텍스트박스에 커서가 자동으로 깜빡이게 하려면 메인 폼에서 서브 폼을 호출할 때Show();를 이용해 열기전에 서브 폼에서 On() 함수를 만들어 폼을 열 때마다 커서가 활성화 되도록 해준다.서브폼에 아래의 함수를 추가하고 public void On() {ActiveControl = textBox1;} 메인폼에서 호출 시On(); 함수를 먼저 호출해 준 다음Show();함수를 호출한다. 그러면 서브 폼을 열때마다 textBox1 에 커서가 자동으로 깜빡이게 된다!

IT/C# 2019.01.10

[C#] WinForm 마우스 클릭 이동으로 움직이기

Windows Form 개발 시 디자인을 위해 Form Style 을 적용하는 경우가 있다.일반적으로 FormBorderStyle 을 None으로 설정해 상단바를 없애고 Manual로 만드는데이렇게 설정했을 때, 프로그램 실행 후 윈도우 상에서 Form의 위치 변경이 불가능하다. 이런 경우에, 윈도우 상에서 Form을 마우스 클릭 이동으로 위치 변경하는 방법을 포스팅하고자 한다. Form을 만들고 FormBorderStyle 을 None으로 설정 후위 화면에서 F7 을 눌러 View Code 모드로 들어간다. 먼저 전역변수로 마우스 이벤트를 핸들링 할 bool On;Point Pos; 를 등록해주고 Form1() 안에 아래의 코드를 추가해 준다. 123MouseDown += (o, e) => { if (..

IT/C# 2018.11.26
728x90
반응형