将List <t>与ImageList链接?</t>

时间:2014-02-04 18:50:32

标签: c# winforms imagelist

我正在尝试制作一个制作套牌的程序,将其洗牌,然后按下每个按钮,就会绘制一张卡片并进行布局。

由于我对编程的了解非常有限,所以我很擅长提前规划,而只是对我想要的内容进行全面了解,然后逐步进行。

我现在的问题是我最终得到了一个包含我的套牌的List,如下所示:

        //Creates a list of cards
    protected List<Card> _cards = new List<Card>();

    public List<Card> _Cards
    {
        get { return _cards; }
        set { _cards = value; }
    }

    /// <summary>
    /// One complete deck with every face value and suit
    /// </summary>
    /// <remarks></remarks>
    public Deck()
    {
        foreach (Suit suit in System.Enum.GetValues(typeof(Suit)))
        {
            foreach (FaceValue faceVal in System.Enum.GetValues(typeof(FaceValue)))
            {
                _cards.Add(new Card(suit, faceVal));
            }
        }
    }

然后我有一个包含所有图像的ImageList,如下所示:

public void LoadImages()
    {
        ImageList cardList = new ImageList();

        cardList.ImageSize = new Size(71, 96);
        // Clover
        cardList.Images.Add("c1", Properties.Resources.c1);
        cardList.Images.Add("c2", Properties.Resources.c2);
        cardList.Images.Add("c3", Properties.Resources.c3);

// Deleted some here, you get the point.

        cardList.Images.Add("sj", Properties.Resources.sj);
        cardList.Images.Add("sq", Properties.Resources.sq);
        cardList.Images.Add("sk", Properties.Resources.sk);
        cardList.Images.Add("s10", Properties.Resources.s10);
    }

Deck List位于类库中,ImageList位于用户控件库中...我怎么能将这两个一起工作?

1 个答案:

答案 0 :(得分:1)

创建一个新类,其中包含两个项目作为参考。

public class ImageCard 
{
   public Card TheCard { get; set; }
   public Image TheImage { get; set; }

}

或从卡中派生一个新类,其中包含对图像的引用(反之亦然)

public class CardEx : Card
{
    public Image TheImage { get; set; }

}

然后根据需要使用其中任何一个进行处理。