2011/03/09 18:14
RL.C omputer
[RL.Application] - DE File Numberer. v0.1. 파일명을 일괄로 바꿔주는 프로그램.
[RL.Application] - DE File Numberer. v0.2. 릴리즈. 파일명을 일괄로 바꿔주는 프로그램.
[RL.Application] - DE File Numberer. v0.2. 릴리즈. 파일명을 일괄로 바꿔주는 프로그램.
소스를 읽어보신 분은 아시겠지만 (있을까?) 설명글에서 c#에서의 LinkLabel 클래스를 사용합니다. 이 LinkLabel이라는게 뭐냐면 그냥 Text 중간에 링크를 걸어주는 기능인데요. MS에서 대체 무슨 생각으로 만든건지 사용법이 정말 복잡합니다. 이를 해결하기 위해서 ToolStripLabel 이라는 클래스가 닷넷 프레임워크 2.0에서 새로 들어왔는데.. 어처구니없게도 여전히 복잡합니다.
사실 기능은 굉장히 간단한 클래스거든요. 그냥 텍스트를 쓰거나 링크를 걸어주는건데 , 간단하게 생각해보면 링크라는 것은 본문 + 갈 곳의 URL 이고 이 두개만 인자로 받으면 됩니다. 그런데 LinkLabel 클래스는 링크를 걸때
this.linkLabel1.Links.Add(24, 9, "www.microsoft.com");
this.linkLabel1.Links.Add(42, 3, "www.msn.com");
이런식으로 걸더군요.
(24,9, "www.microsoft.com") 세개의 인수가 뭐냐면 기존 LinkLabel의 Text 의 시작값, 길이, 그리고 이제서야 링크 주소입니다. 뭔가 복잡하죠? 그냥 본문 + 링크만 받으면 그만인걸요.
그래서 DE File Numberer를 만들때 이걸 간단하게 감싼 클래스를 만들었습니다. 소스는 아래와 같습니다.
더보기
워낙 간단한 소스라 굳이 소스 분석은 필요없을듯 하고, LinkLabelWrap 클래스는 공개된 메소드가 AddText, AddLink, GetLinkLabel 이 세개밖에 없습니다. 메서드 이름에서 짐작하시겠지만 AddText는 그냥 Text를 붙일때, AddLink는 링크를 붙일때, GetLinkLabel은 문자열을 다 만들어낸 다음에 컨트롤로 불러올 때 입니다.
제가 필요한 기능만 만들어낸 거라서 LinkLabel을 통으로 감싼건 아닙니다. 필요한 분은 기능을 추가해 주시고 알려주시면 감사하겠습니다. ^_^
혹시라도 예제가 필요하시면 DE File Numberer 소스코드를 다운받으셔서 보셔도 됩니다.
소스코드의 라이센스는 프로그램의 라이센스와 동일하게
저작권 표시 : YES
상업적 이용 : NO
컨텐츠 변경 : YES
동일한 설정 : YES
상업적 이용 : NO
컨텐츠 변경 : YES
동일한 설정 : YES
입니다.

