블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

오늘부터 본격적으로 ChulsPlayer제작에 들어갔다.

일단 로컬 PC의 음악자원을 기반으로 재생하는 부분을 구현하기 시작했다.

 

간단하게 음악파일을 재생할 수 있는 컨트롤을 만들고,

리스트박스를 만들어서 재생목록이 보여지도록 하였다. (모든 음악재생프로그램에서 제공되는 기능이다.)

 

그런데, 음악파일을 드래그해서 프로그램에 드랍했을 때.. (쉽게 말하면 끌어놓기)

해당 모든 파일들의 리스트를 받아와야 하는데.. 이게 생각만큼 자료가 없더라.

 

그래서 삽질에 삽질을 한 결과..

다음과 같은 과정을 거치면, Drag and Drop된 파일들의 경로를 받아올 수 있다는 것을 알게 되었다.

 

필요하다면 차근 차근 따라해 보도록하자.

 

우선 가장 먼저 해야할 일은 drag and drop을 구현시킬 컨트롤이나 폼에 대하여

AllowDrop 속성을 True로 변경하여야 한다. 헷갈린다면 다음 그림을 참조하도록 하자.

 

이제 여기서는 클래스와 윈도우프로그래밍에 대한 이해가 어느정도 있어야한다.

 

이벤트를 처리해줄 수 있도록 해당 컨트롤의 base클래스로부터 OnDragEnter(DragEventArgs)와

OnDragDrop(DragEventArgs)를 오버라이드하여야 한다.

 

OnDragEnter()는 다음과 같이 구현하면 간단하게 해결이 된다.

 

 

 

그렇다면 파일의 경로를 받아오는것은 OnDragDrop()에서 수행되게 해야할 것이다.

아래와 같은 코드를 적용하면 해당 파일명을 받아올 수 있다.

 

 

 

이렇게 함으로써 여러분은 여러분 프로그램을 사용하는 사용자가 Drag and Drop을 수행하였을 때

파일에 대한 처리를 해줄 수 있을 것이다.

반응형

'Programming > C#' 카테고리의 다른 글

is 와 as  (0) 2010.07.21
region을 사용해서 코드를 깔끔하게  (0) 2010.07.21
C#, 간단한 Developing Tips  (0) 2010.07.21
C# 포커스 빼앗지 않는 폼 구현하기  (0) 2010.07.21
String.Format으로 할 수 있는 일들  (0) 2010.07.20
Posted by blueasa
, |