반응형

C#

(C#) 폼 이벤트: Form_Load, FormClosing, FormClosed, 폼 닫기

C#, 윈폼 프로그램에서 Form_Load, FormClosing, FormClosed 이벤트에 대해 알아봅니다. 이벤트설명Activated폼이 활성화 될 때마다 발생한다.FormClosing폼이 닫히기 전에 발생한다.FormClosed폼이 닫힌 후에 발생한다.Load폼을 로드 할 때 발생한다.Resize폼의 크기를 조종할 때 발생한다. FormClosing 이벤트의 예 다음 코드는 폼의 닫기(X 버튼)를 누를 경우, "프로그램을 종료할까요?"를 출력하고, [아니오] 버튼을 누르면 폼이 닫히는 것을 취소합니다. private void Form1_FormClosing(object sender, FormClosingEventArgs e) { DialogResult..

C# 2024.05.14

(C#) MDI 다중 문서 인터페이스 Multiple Document Interface

MDI는 한 개의 부모폼 안에 한 개 또는 여러 개의 자식 폼을 포함하는 형태의 인터페이스를 말합니다. C# 언어에서는 폼을 추가할 때 "MDI 부모 양식"을 선택하거나 일반 폼의 IsMdiContainet 속성을 "true"로 변경해서 MDI 폼을 만들 수 있습니다. 1. "MDI 부모 양식(Windows Forms)"으로 만들기 솔루션탐색기의 프로젝트 위에서 추가 → 새 항목 → "MDI 부모 양식" 선택 MDI폼이 먼저 시작되도록 변경합니다. static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MDIParent1()); }..

C# 2023.11.30

(C#) ComboBox, Dictionary(key, value) 사용하기

C#의 콤보 박스(ComboBox) 컨트롤과 딕셔너리(dictionary) 제네릭을 이용하는 예제입니다. 여기에서는 응용프로그램에서 학과 코드를 예로 들어 봅니다. 콤보박스에는 "학과명"이 표시되어 있지만, 학과명 대신에 학과 코드를 사용해야 하는 예제입니다. 학과코드와 학과명은 모두 문자열(string) 형식으로 정의합니다. Dictionary dic = new Dictionary(); Form_Load()에서 학과코드와 학과명을 콤보박스에 넣습니다. private void Form1_Load(object sender, EventArgs e) { dic.Add("01", "기계공학과"); dic.Add("02", "전자공학과"); dic.Add("03", "컴퓨터학과"); dic.Add("04", "철..

C# 2023.11.09

(C#) SQLite 데이터베이스 연결하기, NuGet 패키지 이용

누겟(NuGet) 패키지를 이용해서 SQLite 데이터베이스에 연결하여 데이터를 가져와서 출력하는 C# 코드를 작성해 보겠습니다. SQLite 데이터베이스 설치 및 데이터베이스 생성은 다음 링크를 참고해 주십시오. https://coding-abc.kr/170 예제 1. 프로젝트를 생성합니다. Windows Forms 앱(.NET Framework 4.8) 2. 폼에 리스트박스 1개, 버튼 1개를 추가합니다 - 아래의 결과 화면을 참고합니다. 3. 솔루션 탐색기의 프로젝트에서 "NuGet 패키지 관리"를 선택합니다. 4. [찾아보기]에서 "SQLite"를 입력하고, 아래의 항목을 선택해서 설치합니다. 5. 설치가 완료되면 "참조"에 다래 그림처럼 "SQLite.." 관련 항목이 추가됩니다. 6. 버튼을 ..

C# 2023.08.30

(C#) MySQL 연결하기, NuGet 패키지

NuGet 패키지 관리자를 이용해서 C# 언어에서 MySQL에 연결하는 방법을 설명합니다. 예제 1. 비주얼스튜디오에서 프로젝트를 생성합니다. .WIndows Forms 앱(.NET Framework 4.8) 2. [솔루션 탐색기]에서 "NuGet 패키지 관리"를 선택합니다. 아래 그림처럼 "mysql"을 입력하고 검색한 다음에 "MySql.Data"를 찾아서 설치합니다. 참조 항목에 "MySql.Data" 항목이 추가된 것을 볼 수 있습니다. 3. 폼(Form)에 데이터그리드뷰 1개와 버튼 1개를 추가합니다 - 아래의 결과 화면을 참고합니다. 4. 버튼을 클릭해서 코드를 작성합니다. using MySql.Data.MySqlClient; using System; //using System.Collecti..

C# 2023.08.15

(C#) 오라클 데이터베이스에 연결하기

C#에서 오라클 데이터베이스에 연결해서 데이블의 데이터를 출력해 보겠습니다. 오라클 데이터베이스에 연결하는 여러가지 방법이 있습니다. 여기서는 nuget 패키지 관리를 이용해 보겠습니다. 1. 프로젝트를 생성합니다. - WIndows Forms 앱(.NET Framework 4.8) 2. 폼에 ListBox 1개, DataGridView 1개, 버튼 2개를 배치합니다 - 아래의 결과 화면을 참고합니다. 3. 솔루션 탐색기에서 "NuGet 패키지 관리"를 선택합니다. [찾아보기]에서 "Oracle"를 입력합니다. 아래의 체크한 항목을 선택합니다. 이미 설치되어 있는지 [설치됨]에서 먼저 검색을 해 봅니다 - 설치되어 있으면 이 과정을 건너 뜁니다. 4. 참조에 추가된 것을 확인합니다. "Oracle.Dat..

C# 2023.08.10

(C#) 클래스 기초 예제: Person

다음 코드는 사람(Person)을 클래스로 표현하는 아주 간단한 C# 코드입니다. Person은 이름(name)과 나이(age) 만 표현하기로 합니다. public class Person { // Class fields (data members) private string name; private int age; } Person은 다음과 같이 인스턴스를 생성합니다. Person person1 = new Person("홍길동", 30); 생성자를 정의합니다. public class Person { ... public Person(string name, int age) { this.name = name; this.age = age; } } Person 정보를 출력하기 위한 메서드를 아래와 같이 정의했습니다...

C# 2023.07.31

(C#) 인터페이스를 이용한 다중 상속 예제: ISwim IFly Animal Bird

C#에서는 기본으로 클래스의 다중 상속은직접 지원되지 않습니다. 그러나 C#은 인터페이스를 사용하여 다중 상속을 달성하는 대체 방법을 제공합니다. 인터페이스를 이용한 다중 상속을 설명하기 위해서 다음과 같은 예제를 살펴보겠습니다. Animal, ISwim 및 IFly의 세 가지 클래스가 있다고 가정합니다. ISwim과 IFly 모두에서 "상속"할 수 있는 Bird 클래스를 만듭니다. 아래 예제에서 Bird 클래스는 Animal 클래스에서 파생되며 ISwim 및 IFly 인터페이스를 모두 구현합니다. Bird 클래스는 여러 클래스에서 직접 상속되지 않지만 인터페이스 구현을 통해 ISwim 및 IFly 모두에서 동작을 얻습니다. 인터페이스는 구현 클래스가 따라야 하는 동작에 대한 계약을 제공한다는 점을 기억..

C# 2023.07.29

(C#) 추상 클래스(abstract class) 예제

C#의 추상 클래스는 자체적으로 인스턴스화할 수 없지만 추상 멤버와 비추상 멤버를 모두 포함할 수 있는 클래스입니다. 추상 멤버는 구현을 제공하지 않고 선언되며 파생 클래스에서 구현되어야 합니다. 다음 코드는 C# 추상 클래스의 예입니다. 이 예제에서는 Shape라는 추상 클래스를 정의합니다. 구현 없이 선언된 하나의 추상 메서드인 'CalculateArea()'가 있습니다. 또한 구현이 포함된 비추상 메서드 Display()가 있습니다. 그런 다음 Shape 추상 클래스에서 상속되는 두 개의 파생 클래스 Circle 및 Rectangle을 만듭니다. 각 파생 클래스는 기본 클래스의 추상 멤버이므로 CalculateArea() 메서드에 대한 구현을 제공해야 합니다. 추상 클래스 Shape의 인스턴스를 직..

C# 2023.07.27

(C#) 인터페이스 예제: IShape

다음 예제는 인터페이스(interface)를 이용한 간단한 C# 코드입니다. 인터페이스를 상속받는 클래스에서는 반드시 인터페이스에서 선언 메서드나 속성을 정의해야 합니다. IShape 인터페이스를 다음과 같이 정의했습니다. public interface IShape { double CalculateArea(); // 넓이 계산 double CalculatePerimeter(); // 둘레 계산 } 인터페이스를 상속받는 Circle과 Rectangle 클래스는 다음과 같이 정의했습니다. public class Circle : IShape { public double Radius { get; set; } public Circle(double radius) { Radius = radius; } public d..

C# 2023.07.25
반응형