예를 먼저 드는 것이 설명하기가 좋을 것 같습니다.
Workflow Activity 클래스를 만들면 다음과 같이 도구 상자 모임에 자동으로 나타나게 됩니다.
이때, 아이콘 모양이 단조로운 "톱니" 모양으로 나오게 되는데요.
구현된 모든 아이콘들이 이런 식으로 나오면 인지 차원에서 좋지 않을 수도 있습니다.
일단, 결론만 말씀드리자면... 현재의 VS.NET 2005 에서 제공되는 "프로젝트 관련 탭에 포함된 Activity" 아이콘은 변경이 안됩니다. (물론, 그 방법을 제가 모를 수도 있으며, 향후 그와 관계된 패치가 나올 수도 있을 거라 예상됩니다.)
결국, "프로젝트 탭" 에서는 안되고, 별도의 "탭"을 하나 추가시키고 그 안에 아이콘을 추가시킬 때, 자신이 원하는 아이콘 이미지를 넣는 방법을 사용할 수 밖에는 없습니다.
즉, 다음 화면과 같이 되는 것이죠.
자세히 보시면, 왼쪽의 "MyTab" 에 있는 "WriteLine2" 의 아이콘이 변경된 것 뿐만 아니라, 오른쪽의 Workflow Designer 화면에서의 "WriteLine2" 의 아이콘도 변경이 된 것을 볼 수 있습니다.
자... 그럼 어떻게 이와 같은 변경을 할 수 있을까요?
해답은 의외로 간단합니다. ^^ 기존에 이미 제공되어 있던 TooboxBitmap 특성을 Activity 클래스에 적용시키는 것입니다. 아래는 그 코드를 보여줍니다.
namespace WorkflowConsoleApplication1
{
[System.Drawing.ToolboxBitmap(typeof(WorkflowConsoleApplication1.WriteLine2), "test.bmp")]
public partial class WriteLine2 : SequenceActivity
{
}
}
test.bmp 파일은 WorkflowConsoleApplication1 프로젝트에 "Embedded Resource" 로 추가된 것입니다.
Title |
11897 | 정성태 | 5/16/2019 | 30242 | 오류 유형: 536. Visual Studio - "Developer Pack"을 설치했는데도 "대상 프레임워크" 목록에 나오지 않는 경우 [2] | |
11896 | 정성태 | 5/15/2019 | 26638 | 개발 환경 구성: 440. C#, C++ - double의 Infinity, NaN 표현 방식 | 1 |
11895 | 정성태 | 5/12/2019 | 23847 | .NET Framework: 832. ML.NET Model Builder - 회귀(Regression), 다중 분류(Multi-class classification) 예제 | 1 |
11894 | 정성태 | 5/10/2019 | 26022 | VS.NET IDE: 135. Visual Studio - ML.NET Model Builder 소개 [5] | |
11893 | 정성태 | 5/10/2019 | 21431 | 오류 유형: 535. C# 6.0 이상의 문법을 컴파일 시 오류가 발생한다면? | |
11892 | 정성태 | 5/10/2019 | 21288 | 웹: 38. HTTP Cookie의 expires 시간 형식(RFC7231) | |
11891 | 정성태 | 5/9/2019 | 24548 | .NET Framework: 831. (번역글) .NET Internals Cookbook Part 12 - Memory structure, attributes, handles | |
11890 | 정성태 | 5/8/2019 | 20815 | 개발 환경 구성: 439. "Visual Studio Enterprise is required to execute the test." 메시지와 관련된 코드 기록 | |
11889 | 정성태 | 5/8/2019 | 20120 | 개발 환경 구성: 438. mstest, QTAgent의 로그 파일 설정 방법 | |
11888 | 정성태 | 5/8/2019 | 38555 | .NET Framework: 830. C# - 비동기 호출을 취소하는 CancellationToken의 간단한 예제 코드 [1] | 1 |
11887 | 정성태 | 5/8/2019 | 24750 | .NET Framework: 829. C# - yield 문을 사용할 수 있는 메서드의 조건 | |
11886 | 정성태 | 5/7/2019 | 20968 | 오류 유형: 534. mstest.exe 실행 시 "Visual Studio Enterprise is required to execute the test." 오류 [2] | |
11885 | 정성태 | 5/7/2019 | 18971 | 오류 유형: 533. mstest.exe 실행 시 "File extension specified '.loadtest' is not a valid test extension." 오류 발생 | |
11884 | 정성태 | 5/5/2019 | 24087 | .NET Framework: 828. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 - 두 번째 이야기 | |
11883 | 정성태 | 5/3/2019 | 28953 | .NET Framework: 827. C# - 인터넷 시간 서버로부터 받은 시간을 윈도우에 적용하는 방법 | 1 |
11882 | 정성태 | 5/2/2019 | 25769 | .NET Framework: 826. (번역글) .NET Internals Cookbook Part 11 - Various C# riddles | 1 |
11881 | 정성태 | 4/28/2019 | 25827 | 오류 유형: 532. .NET Core 프로젝트로 마이그레이션 시 "CS0579 Duplicate 'System.Reflection.AssemblyCompanyAttribute' attribute" 오류 발생 | |
11880 | 정성태 | 4/25/2019 | 21648 | 오류 유형: 531. 이벤트 로그 오류 - Task Scheduling Error: m->NextScheduledSPRetry 1547, m->NextScheduledEvent 1547 | |
11879 | 정성태 | 4/24/2019 | 31153 | .NET Framework: 825. (번역글) .NET Internals Cookbook Part 10 - Threads, Tasks, asynchronous code and others | 2 |
11878 | 정성태 | 4/22/2019 | 25421 | .NET Framework: 824. (번역글) .NET Internals Cookbook Part 9 - Finalizers, queues, card tables and other GC stuff | 1 |
11877 | 정성태 | 4/22/2019 | 25919 | .NET Framework: 823. (번역글) .NET Internals Cookbook Part 8 - C# gotchas | 1 |
11876 | 정성태 | 4/21/2019 | 23381 | .NET Framework: 822. (번역글) .NET Internals Cookbook Part 7 - Word tearing, locking and others | 1 |
11875 | 정성태 | 4/21/2019 | 26002 | 오류 유형: 530. Visual Studo에서 .NET Core 프로젝트를 열 때 "One or more errors occurred." 오류 발생 | |
11874 | 정성태 | 4/20/2019 | 25986 | .NET Framework: 821. (번역글) .NET Internals Cookbook Part 6 - Object internals | 1 |
11873 | 정성태 | 4/19/2019 | 24672 | .NET Framework: 820. (번역글) .NET Internals Cookbook Part 5 - Methods, parameters, modifiers | 1 |
11872 | 정성태 | 4/17/2019 | 25551 | .NET Framework: 819. (번역글) .NET Internals Cookbook Part 4 - Type members | 1 |