문제

나는 형태로 C#있는 버튼을 클릭하면 내가 원하는 배경 이미지를 순환하기 위해 집합의 이미지(는 리소스를 프로젝트).이미지가'라는 이름 _1','_2',etc.그 때마다 버튼을 클릭하고 싶은 배경 이미지를 증가시키고 다음 중 하나에 돌아가고"_1"면 가장 높은 것입니다.는 방법이 있을까요?

I 도 button1.BackgroundImage.ToString() 하지만 그 수익률 System.Drawing.BitmapResources._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(); }
}

이 코드를 사용할 수 있으로 백업 등을 위해 당신의 통제하에서는 가정이 사용자가 늘 버튼을 클릭하 억 개 이상 시간.

그냥 참고로 이 클래스를 만들 수정할 수 없습이 주어진 이미지 목록을 밖에.당신이 원하는 경우 이러한 것들이 너를 구현할 필요가 처분할 수 있는 패턴 및 처분에 열거한다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top