본문 바로가기

C#13

C#00. 목차 C++과 문법적으로 다른점기본 프로그램 제작 1기본 프로그램 제작 2실제 프로그램 제작메뉴 및 툴바 지원GDI+ 및 깜박임 문제 해결대화 상자 만들기마우스 스크롤파일 지원MDI 및 인쇄하기DLL과 Web ServiceSmart Client설치 프로그램 만들기 2024. 4. 22.
C#12. Smart Client Smart Client는 자동 Update 기능을 손쉽게 구현할 수 있는 기능입니다. 자동 Update 기능은 개념은 다르지만 이미 V3, 아래아 한글 등 많은 프로그램에서 기능을 구현해 놓았습니다. Smart Client 기능은 타 응용 프로그램에서는 새버젼의 파일이 있을 경우 사용자에게 Update 할것인지를 선택하게 하나, Smart Client는 실행시 자동으로 Update됩니다. 이 기능을 응용하면 웹 브라우저에서 실행되는 것 처럼 구성할 수도 있습니다. 웹 브라우저에 포함되어 실행되는 프로그램은 기존에 ActiveX나 JAVA로 프로그램하여 구성하였습니다. 그러나 이 경우 사이트 방문자가 모르는 사이 프로그램이 설치되어 많은 문제를 야기 시켰다. 이를 해결하기 위해 Windows XP SP2이.. 2022. 3. 8.
C#11. DLL과 웹서비스 여기서는 간단한 계산기를 만들고, 계산 기능(사칙연산)을 수행하는 DLL을 만들어 그 DLL을 사용하여 변경해 본 후, 웹서비스로 만들어 원거리에서 그 계산 기능을 호출할 수 있도록 구성할 것입니다. DLL 만드는 방법과 웹서비스 만드는 방법이 얼마나 간단한지 경험할 수 있는 좋은 기회가 될 것입니다. 계산기는 다음과 같이 제작하였습니다. 이 프로그램은 이제 쉽게 만들 수 있으리라 생각되므로 루틴을 하나하나 설명하지는 않을 것입니다. 이 루틴중 = 버튼을 선택했을 때 호출되는 Method를 보면 다음과 같습니다. private void buttonEqual_Click(object sender, System.EventArgs e) { dInput2 = double.Parse(this.textBox1.Tex.. 2022. 3. 8.
C#10. MDI 및 인쇄하기 이제 지금까지 만든 Paint 프로그램을 MDI 형태로 변경하고 인쇄 기능을 추가해보겠습니다. MDI C#에서 MDI는 일반적으로 제공하는 형태는 아닙니다. 그러나 편집기 등 MDI 형태가 필요한 프로그램 들이 있습니다. 이를 위해 간단히 작성 방법을 설명하겠습니다. MDI를 구성하기 위해서는 MainForm외에 Form을 하나 만들어서 구성해주면 됩니다. 여기서는 C++구조와 비슷하게 ChildForm을 만든 후 PaintView를 만들어 그 위해 올려놓도록하겠습니다. PaintView를 Form으로 만들어 ChildForm 없이 구성해도 되나 향후 Internet Explore에 올리기 위해 두단계로 구성하여 만들도록 하겠습니다. Paint 프로젝트에 아래와 같이 Windows Form을 추가하여 C.. 2022. 3. 8.
C#09. 파일 지원 이제 지금까지 만든 Paint 프로그램에 파일 기능을 추가해 보겠습니다. 여기서는 두가지 파일에 대해 알아보겠습니다. 하나는 bmp, gif, jpg등 이미지 파일이고, 다른 하나는 일반 데이터 저장 파일입니다. 이미지 파일로 저장하기 위해 파일 메뉴에 Export를 추가합니다. 그런 다음 Export를 선택하여 생성된 함수에서 다음과 같이 입력하면 이미지 파일로 저장이 가능하게 됩니다. private void exportToolStripMenuItem_Click(object sender, EventArgs e) { SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "Image Files(*.bmp;*.gif;*.jpg)|*.bmp;*.gif;*.jpg".. 2022. 3. 8.
C#08. 메모리, 마우스 및 스크롤 이제 지금까지 만든 Paint 프로그램에 마우스를 이용하여 객체를 그리는 기능을 추가해보겠습니다. 객체를 그리는 방법은 두가지입니다. mspaint 처럼 Image에 직접 그림을 그려 그 그림을 저장하는 형태와 PhotoShop처럼 각 그리기 객체를 내부적으로 메모리를 관리하는 형태(Vector형태로 관리)가 있습니다. 여기서는 내부적으로 메모리를 관리하는 형태로 구성해보도록 하겠습니다. 프로젝트 이름에(여기서는 Paint) 마우스 오른쪽버튼을 눌러 생성된 팝업 메뉴의 추가의 부메뉴 클래스를 선택하면 다음과 같은 대화 상자가 생성됩니다. 이름에 DrawObj.cs를 입력하고 추가를 선택합니다. 같은 방식으로 DrawLine.cs, DrawRect.cs, DrawEllipse.cs, ObjList.cs를 .. 2022. 3. 8.