닷넷 프레임워크 125

#103_닷넷(.NET)_ WPF_ XAML의 기능

안녕하세요 삽잡이입니다. 대부분의 XAML은 UI를 구성하는 곳에서만 사용한다고 생각하시지만, 사실 또 다른 곳에서도 사용이 됩니다. 처음 WPF에 대한 프로젝트르 생성했을때 있는 App.xaml만 봐도 알 수 있습니다. App은 UI가 아닙니다. 따라서, UI에 관련된 기능이 들어가있지않습니다. 그런데도 XAML 언어를 통해 작성할 수 있습니다. C# 코드에서 만들어낸 모든 객체들을 만들 수 있는 것입니다. 물론, 행동을 구현하는 Logic 영역에 대한 코드는 만들 수 없습니다. 그런데, 기본 생성자가 있다는 전제하에 C#에서 만든 모든 객체들을 만들어낼 수 있지요. 왜 XAML 언어를 통해 이러한 기능들이 가능할까요? 사실 .xaml 파일은 .cs 파일로 번역이 되었다가 다시 컴파일 되어 어셈블리가 ..

#102_닷넷(.NET)_ WPF_ 콘텐츠 모델(Contents Model)

안녕하세요 삽잡이입니다. 이번 시간에는 콘텐츠 모델에 대해서 알아보려고합니다. 우선, 이번시간에 들어가기전에 잠시 XML에 대해서 간략하게 살펴보고 가도록 하겠습니다. 참고로, XML 에 대해서 이해가 부족하시다면, #XML 을 참고해주시길 바랍니다. XML언어는 Mark Up이라고 해서시작 태그와 끝 태그 Mark Up을 가지고 있습니다.이 Mark Up은 이름과 특성으로 이루어져있지요.그리고 이 특성은 이름과 값으로 이루어져 잇습니다. Element는 XML이라는 표준 언어에 정의되어있으며,XML 문서를 구성하는 단위입니다.시작 태그와 끝 태그로 이루어진 원소를 가리킵니다.이 Element 안에는 Contents가 있습니다.콘텐츠란, Element가 가지고 있는 내용물을 뜻합니다. 이렇게, MarkU..

#101_닷넷(.NET)_ WPF_ 개요

안녕하세요 삽잡이입니다. 얼마나 내용들을 잘 설명했든지 안했는지 잘 모르겠지만...벌써 닷넷으로만 101번째 시간을 가지고 있습니다. WPF는 기존 GUI 프로그래밍 방식만을 고집한다면, 쉽게 포기할 수 있는 기술이라고 합니다.열린 사고로써 모든 걸 포용할 수 있는 마음을 가져보도록 합시다. 푸하하 이번 시간부터는 WPF에 대해서 알아보려고합니다. WPF는 우선 Windows Presentation Foundation의 약자입니다.이 WPF는 GUI 프로그램을 생산성 높고, 효율적으로 만들어주기 위한 FrameWork입니다. 기존에 있던 Window API, MFC, Driect X, WinForm에 이은 GUI Library이지만, 좀 더 한차원 높은 라이브러리이지요. WPF의 핵심들은 한가지로만 요약..

#100_닷넷(.NET)_ WinForm - 모달리스(Modeless) Dialog 활용

안녕하세요 삽잡이입니다. 지난 시간에는 모달리스에 대해서 알아봤습니다.이번에는 모달리스를 통해서 ListBox를 한번 집어넣어볼까요? 세세하게 다루지 않고, 가볍게 읽으며 넘어가는 식으로 글을 쓰고자합니다.기존에 Window Native 영역인 API에 대한 이해가 없으시다면 이해가 잘 안가실 수 있으니, API 부분부터 다시 보시는 것 또한 추천드립니다! 데이터는 Modeless Form 내부에 저장하지 않을 것입니다.즉, Modeless를 호출한 부모에 저장을 하겠지요. 그런데, ListBox를 만들고 데이터에 접근하여 ListBox에 올리려면 어떻게 해야할까요? 바로, Modeless를 호출한 Form으로부터 저장되어있는 데이터를 접근하기 위해Getter 즉, 속성을 통해 접근하면 됩니다. List..

#099_닷넷(.NET)_ WinForm - 모달리스(Modeless) Dialog 생성 및 제거

안녕하세요 삽잡이입니다. 이번시간에는 모달리스 다이얼로그에 대해서 알아보려고합니다. 세세하게 다루지 않고, 가볍게 읽으며 넘어가는 식으로 글을 쓰고자합니다.기존에 Window Native 영역인 API에 대한 이해가 없으시다면 이해가 잘 안가실 수 있으니, API 부분부터 다시 보시는 것 또한 추천드립니다! 기존에 모달 다이얼로그의 경우,해당 다이얼로그가 실행된 상태에서 Focus가 집중되어있기 때문에,다른곳으로 이동하지 못합니다.또한, 모든 메시지는 모달이 띄워져있는 상태에서 처리하게 됩니다. 모달리스 다이얼로그의 경우 Focus가 해당 다이얼로그에 집중되어있지 않습니다. WinForm에서는 모달리스 다이얼로그 역시,Form을 하나 만들고 [속성]을 변경해주면 됩니다. FormBorderStyle 속성..

#098_닷넷(.NET)_ WinForm - 그리기 (Graphics)

안녕하세요 삽잡이입니다. 이번시간에는 WinForm에 있는 기능 중에서그리기에 대해서 알아보고자 합니다. 세세하게 다루지 않고, 가볍게 읽으며 넘어가는 식으로 글을 쓰고자합니다.기존에 Window Native 영역인 API에 대한 이해가 없으시다면 이해가 잘 안가실 수 있으니, API 부분부터 다시 보시는 것 또한 추천드립니다! Paint 이벤트에 대한 핸들러를 만들게 되면,해당 메서드에는 인수로 PaintEventArgs 라는 형식의 인자가 넘겨옵니다. Graphics 객체가 하나 들어오는 것입니다.이를 통해서 간단한 그리기를 할 수 있지요. Graphics 객체는 그리는데 필요한 객체입니다.이전에 API를 가지고 놀 때 DC 객체를 얻었었죠.이처럼 WinForm에서는 Graphics 객체를 얻어야합니..

#098_닷넷(.NET)_ WinForm - 컨트롤 (Control)

안녕하세요 삽잡이입니다. 이번시간에는 WinForm에 대한 Control을 알아보려고합니다. 참고로, 지금부터는 'designer.cs' 에 있는 코드는 '디자이너 코드',그리고 우리 프로그래머가 다루는 코드는 그냥 '코드'라고 칭하겠습니다. control은 사용자와 대화하고, 사용자에게 보여주기 위한 모든 속성과 메서드를 말합니다. 우선, 디자니어쪽 코드를 보시면 아시겠지만,이런 범접할 수 없는 아우라(?)를 풍기는 코드가 있지요. 이 코드는 신경 안써도 됩니다.이 아래부터 우리 개발자들이 신경쓸 코드입니다. 'Windows Form 디자이너에서 생성한 코드'를 열어보시면메인 Form을 비롯한 추가된 컨트롤들에 대한 코드들이 정의되어있습니다. 생성코드와 컨트롤에 대한 참조자를 확인할 수 있는 것이지요...

#097_닷넷(.NET)_ WinForm - WinForm 기초 및 Event

안녕하세요 삽잡이입니다. 이번시간에는지난시간에 배운 기본적인 WinForm의 개념을 더해서 이벤트까지 한번 알아보려고합니다. 참고로, 지금부터는 'designer.cs' 에 있는 코드는 '디자이너 코드',그리고 우리 프로그래머가 다루는 코드는 그냥 '코드'라고 칭하겠습니다. 기본적으로 Main Form에서 대부분의 활동을 하게 됩니다. 간단하게 Form의 [속성]들을 살펴보자면,크기를 줄이던지 늘릴 수 있고, 혹은 투명도, 위치등 설정이 가능합니다. 그런데, 기본적으로 코드로도 바꿀 수 있지요. 처음 Form이 실행될 때에는,초기 값을 사용하는 Look & Feel 코드로써 InitializeComponent() 메서드를 호출하게 됩니다. 느껴지는대로 보여주는 디자인 코드져 허허...이는 초기값을 설정해..

#096_닷넷(.NET)_ WinForm - WinForm Intro

안녕하세요 삽잡이입니다. 이번시간부터는 WinForm에 대해서 간략하게(?) 맛만 보며 알아가려고 합니다. 왜 맛만 보냐?? 요즘 대세는 WPF죠... 허허... ... 힘빠지십니까... 그래도 알아서 나쁠게 있습니까?달려봅시다!!!WinForm에 대한 썰은 나중에 [ETC]로 하나 풀어보도록 하지요. 아무튼... 달려봅시다!!! WinForm을 사용하기 위한 기본 클래스 라이브러인 System.Windows.Forms 는 BCL에 들어있습니다. Application.Run()는 정적 메서드입니다.해당 메서드 내부에는 실제 프로그램을 구동시켜주도록쓰레드를 실행시켜 WinForm에 모든 동작을 수행하는 코드가 들어가있습니다.여기에 Form 객체를 하나 넘기게 되지요. [STAThread] 는Single T..

#095_닷넷(.NET)_ ADO.NET - 비연결 계층 LINQ

안녕하세요 삽잡이입니다. 몇일 전부터 ADO.NET에 대해서 알아보고 있습니다.이번 시간에는 ADO.NET의 마지막으로써비 연결 계층에서 LINQ를 사용하는 기능에 대해서 알아보려고 합니다. LINQ 문법은 쿼리 문법으로써SQL과 마찬가지로 많은 데이터를 대상으로 때립니다. 이전에는 객체들인 objects 형식에 때렸던 것이었습니다.그런데 ADO.NET에서 보셨으면 아시겠지만,DataSet을 대상으로도 LINQ가 가능하다는 놀라운 사실을 알 수 있습니다. 지금까지 데이터를 조작하는 방법은 총 세가지였습니다.1. Tables, Rows, Colums 컬렉션을 사용.2. DataReader 객체를 사용.3. 강력한 타입의 데이터 클래스를 사용. 그리고 이번에 알아볼 LINQ까지 합치면 이제는 총 네가지이군요..