저는 WinForms 응용 프로그램을 만들고 있는데 대부분의 컨트롤에서 특정 색상을 사용하고 있습니다. WinForms 디자이너에서 때로는, 그리고 때로는 직접 내 코드에 직접 사용합니다. WinForm 응용 프로그램에서 응용 프로그램 전체의 색상 코드를 구현하는 방법은 무엇입니까?
나는 정적 클래스 어딘가에 그렇게 찾고 있어요 :public static class MyColors
{
public static Color DarkGreen = Color.FromArgb(0, 70, 62);
...
public static Color Orange = Color.FromArgb(239, 132, 16);
}
내가 아주 쉽게 내 코드에서 색상을 사용할 수 있지만이 오류가 발생합니다 디자이너에서 할 불가능 :
을(I 그 색의 INT32 표현을 저장하기 위해 노력했지만,이 같은 오류와 함께 실패) 내가 지금 사용하고이 솔루션은 디자이너에서 RGB 색상 코드를 사용하는 것입니다MyColors.DarkGreen은 Int32에 대한 유효한 값이 아닙니다.
, MyColors 클래스 값을 내 코드에 넣고 Visual Studio의 모든 기능을 바꾸어 변경합니다. 이것은 좋은 해결책은 아니지만 지금까지 더 좋은 아이디어를 찾을 수 없었습니다.
아이디어가 있으십니까?
참고 : 나는 내가 "KnownColors을"변화에서 찾는 게 아니에요으로, 광산에서 약간의 차이 인 약 this question을 알고있다.
@Jeff : 기본 winforms 컨트롤 (단추, 레이블 등)의 색을 업데이트하려고하므로 모든 컨트롤에서 상속하지 않으면 Editor 속성을 해당 ForeColor/BackColor 속성에 실제로 적용 할 수 없습니다. 과도한 소리가 들려요 ... 아니면 뭔가를 놓쳤습니까? – Brann
@Brann : 이미 양식을 구현하여 상속합니다. 자신의 형식으로 재정의를 적용해야합니다. –
물론, 폼 내의 컨트롤은 부모 컨트롤에서 상속 받기 위해 Color.Empty로 설정되어야합니다. 그렇지 않으면이 컨트롤도 재정의해야합니다. 디자이너 지원을받을 수있는 대안이 없다고 생각합니다. 걱정됩니다. –