문제
나는 형태로 C#있는 버튼을 클릭하면 내가 원하는 배경 이미지를 순환하기 위해 집합의 이미지(는 리소스를 프로젝트).이미지가'라는 이름 _1','_2',etc.그 때마다 버튼을 클릭하고 싶은 배경 이미지를 증가시키고 다음 중 하나에 돌아가고"_1"면 가장 높은 것입니다.는 방법이 있을까요?
I 도 button1.BackgroundImage.ToString()
하지만 그 수익률 System.Drawing.Bitmap
대 Resources._1
처럼 생각하고 있었는 것(는 경우에는 그냥 수를 얻을 마지막 문자와 스위치는 배경을 변경하는 적절한 새로운 이미지).
당신의 도움을 위한 감사합니다.
해결책
왜 당신은 그냥 넣어는 이미지에 배열?
다른 팁
할 수 있습 서브 클래스 단추를 재정의 BackgroundImage 제공할 수 있도록 더 나은 추 자원을 나타내는 이미지입니다.수도 있습을 재정의 onclick 방법을 내부적으로 핸들 사이클링 다음 이미지,그래도할 수 있는 조금 이상하면 리소스가 처리되는 외부의 파생된 버튼을 클래스입니다.
class YourClass
{
private IEnumerator<Image> enumerator;
YourClass(IEnumerable<Image> images)
{
enumerator = (from i in Enumerable.Range(0, int.Max)
from image in images
select image).GetEnumerator();
enumerator.MoveNext();
}
public Image CurrentImage { get { return enumerator.Current; } }
public void OnButtonClick() { enumerator.MoveNext(); }
}
이 코드를 사용할 수 있으로 백업 등을 위해 당신의 통제하에서는 가정이 사용자가 늘 버튼을 클릭하 억 개 이상 시간.
그냥 참고로 이 클래스를 만들 수정할 수 없습이 주어진 이미지 목록을 밖에.당신이 원하는 경우 이러한 것들이 너를 구현할 필요가 처분할 수 있는 패턴 및 처분에 열거한다.
제휴하지 않습니다 StackOverflow