본문 바로가기

분류 전체보기

(62)
C# 윈폼 컨트롤 다루기 3 윈폼에는 컨트롤이 많기에 이전 포스트에 이어서 작성합니다. 1. RichTextBox 컨트롤 .RTF 파일 또는 Text 파일을 읽어 들여 TextBox처럼 글을 읽을 수 있는 컨트롤이다. 다른점은 폰트 및 문자색 변경등의 기능을 제공한다. 파일 경로와 파일명을 입력 후 Load File 버튼을 누르면 파일의 경로와 파일의 존재여부를 확인 후 LoadFile로 파일을 읽어들인다. Load File 버튼을 클릭하면 이와같이 파일의 내용이 나타난다. 후에 Change all to Italic 버튼을 눌러 폰트를 변경할 수 있다. 2. ToolTip 컨트롤 ToolTip 컨트롤은 특정 컨트롤에 마우스를 올려 놓으면 간단한 도움말을 보여줄 때 쓰여지는 컨트롤이다. 도구 상자에서 ToolTip을 드래그 앤 드랍 ..
C# 윈폼 컨트롤 다루기 2 윈폼에는 컨트롤이 많기에 이전 포스트에 이어서 작성합니다. 1. ListView 컨트롤 ListView 컨트롤은 디렉토리처럼 아이템들을 여러 리스트의 형태로 보여주는 컨트롤이다. 5가지의 형태가 있고, Detail, List, Tile, LargeIcon, SmallIcon 등이 있다. 화면 구성의 경우 ListView 와 RadioButton 으로 구성하였다. 현재 디렉토리의 파일을 불러온뒤 rediobutton을 이용해 View 를 컨트롤 하는 예제이다. 먼저 파일을 불러오는 GetCurrentDirectory 메서드와 ListView를 업데이트하는 SettingListView 메서드가 있다. GetCurrentDirectory의 경우 현재 디렉토리의 정보를 불러온 뒤 정보를 통해 파일정보에 대한 배..
C# 윈폼 컨트롤 다루기 1. Control 윈폼에는 여러가지의 컨트롤 객체가 있다. 이 컨트롤 객체는 기본적으로 .NET framework에서 제공한다. 여러가지 컨트롤를 다루어 보며 윈폼에 익숙해 진다. 2. CheckBox 컨트롤 CheckBox 컨트롤은 체크상자와 레이블로 이루어져 있다. 이 컨트롤에서 가장 많이 쓰는 속성은 Checked로서 True나 False로 지정할 수 있다. 또다른 속성으로써 Checked, Unchecked, Intermediate 3가지의 CheckState 속성을 가질 수 있다. 이중 Intermediate는 부분적으로 선택된 경우를 뜻한다. 체크 박스를 사진의 형태로 배치하였다. 이벤트 수신 동의가 체크될때 문자, 이메일 체크박스가 같이 체크 되도록 구현한 예제이다. 이처럼 이벤트 수신 동..
C# 윈폼 프로젝트 생성 / button event 1. Windows Forms 어플리케이션 Windows Forms, 줄여서 윈폼이라고 부른다. 윈도우 프로그램을 만들기 위한 UI 및 상호작용을 위한 프로젝트로 이해한다. 해당 포스트는 Visual Studio 2022를 기준으로 만들어졌다. 2. 프로젝트 생성 1번은 새로 생성 / 2번은 이미 있는 프로젝트에서 생성 이다. 파일 > 새로 만들기 > 프로젝트 순으로 클릭한다. 해당 목록에서 Windows Forms 앱을 선택하거나 검색을 활용하여 클릭한다. 사진상 Windows Forms 앱 항목이 2개가 있는데, Windows Forms 앱과 (.NET Framework) 가 있는 Windows Forms 이다. 이는 .NET Core와 .NET Framework 의 차이인데, 1. .NET Fram..
C# async / await 1. async / await C#은 비동기 프로그래밍을 보다 쉽게 지원하는 기능인 async / await를 지원한다. async는 비동기로 실행될 메서드를 선언할때 사용하며, await는 비동기 작업이 완료될 때까지 실행을 임시 중단하는 역할을 한다. 반환형은 Task를 사용한다. 이를 사용하여 시간이 오래걸리는 작업에 비동기적 처리를 하여 프로그램의 응답성과 성능을 향상 시킬수 있다. 2. 작성법 비동기 작업을 할 메서드에 async 키워드를 사용한다. 해당 예제는 https://www.example.com 사이트로 요청을 보내고 응답이 올때까지 대기했다가 응답이 올때까지 기다렸다가 응답이 오면 작업을 완료하는 예제이다. main 메서드를 async로 선언한 뒤 Task를 반환형으로 선언한다. aw..
C# Dynamic 1. Dynamic C# 은 기본적으로 Static Language로 컴파일시 Type을 체크한다. 하지만 C# 4.0에서 Dynamic 기능을 추가하여 런타임시 Type을 체크할 수 있도록 했다. 이를 통해 임의로 타입을 변경하는 코드를 작성 할 수 있다. 2. var 와 dynamic var 의 경우 컴파일러가 입력되는 값을 보고 type을 정하게 된다. 이렇게 동일한 var를 사용했음에도 대입된 값의 유형에 따라 자유자재로 변한다. 하지만 만약 숫자가 들어간 num 변수에 str 변수를 넣는다면 이렇듯 이미 int 로 초기화된 num에 str 의 값을 못넣는 것이다. 하지만 만약 dynamic을 사용하게 된다면 dynamic의 경우 코드의 실행시점, 런타임 시점에서 타입을 정하기 때문에 num = ..
C# Partial Type 1. Partial Class C#의 기능으로 클래스를 여러 파일에 정의하는 기능이다. 클래스의 내용을 여러 파일로 분리하고 컴파일될 때 분리된 파일이 결합된다. 2. 작성규칙 2-1 분할된 클래스 모두 partial 키워드를 사용해서 선언해야 한다. partial class Car{} partial class Car{} class Car{} // 에러 발생 2-2 모두 동일한 접근 제한자를 사용해야 한다. public partial class Car{} public partial class Car{} private partial class Car{} // 에러 발생 2-3 상속의 경우 모두 동일한 상속으로 선언해야한다. public partial class Car : Han {} public parti..
C# 확장 메서드 1. 확장 메서드 특수한 종류의 static 메서드인 확장메서드는 다른 클래스의 인스턴스 메서드인 것처럼 사용되는 기능을 제공한다. 확장메서드는 클래스, 구조체, 인터페이스에 적용될 수 있다. 확장 메서드는 static 클래스 내부에 static 메서드로 정의된다. 확장메서드는 첫번째 파라미터로 this 키워드와 사용될 클래스의 타입을 지정한다. 2. 작성법 세글자 마다 잘라내는 임의에 확장 메서드를 구현하는 예제이다. static 클래스 내부에 static 메서드인 Slice 메서드를 통해 전달받은 string 값을 StringBulider를 통해 세번째 글자를 저장하여 최종적으로 리턴하는 메서드이다. String 문자열에는 확장 메서드가 자동완성으로 확인되는것을 보았다. 해당 예제는 이미 정의한 클래..