2016-06-18 5 views
0

私はメモリゲームをしなければなりません。 MSDNにはすでにチュートリアルがあります。https://msdn.microsoft.com/nl-nl/library/dd553235.aspxイメージリストからイメージをランダムに表示するには

しかし、それは私自身のイメージで作っています。 私の質問は次のとおりです:どのようにイメージリストからランダムにラベルに画像を表示できますか?

私はすでにさまざまなことを試みましたが、結果はありませんでした。これは、私がimagelistを作ろうとしたteの方法の1つですが、TableLayoutPanelの中​​にあるラベルにランダムに配置する方法がわかりません。

enter image description here

+0

画像を変更したいときは? –

+0

@Sia:それは実際にメモリゲームの仕組みではありません;-) – TaW

答えて

0

アイコンチュートリアルの用途は文字列です。ラベルコントロールに表示することができます。しかし、あなたはイメージです。ピクチャボックスコントロールの使用を検討することもできます。

+0

もちろん、Label.Imageに画像を表示することもできます。 – TaW

0

あなたはそのTagプロパティでこれは各カードの番号を格納する

iconLabel.Tag = randomNumber; 

、多目的フィールドで

iconLabel.Text = icons[randomNumber]; 

を置き換えることができます。

またLabelのサイズを設定し、AutoSizeをオフにします。

iconLabel.Size = yourImageList.ImageSize; 
iconLabel.AutoSize = false; 

リストにイメージをロードする前に、のような値にyourImageList.ImageSizeyourImageList.ColorDepthにあなたを設定することを忘れないでください!また

:代わりに、彼らはnullにImageを設定隠したときにBlackForegroundColorを回す:

iconLabel.Image = null; 

、それはあなたがイメージ取得するために、番号を保存しているTag使用表示:

iconLabel.Image = yourImageList.Images[(int)iconLabel.Tag]; 

また、各カードの背景として素敵なパターンを示す余分な画像をリストに追加して、画像として最初に設定することもできます。

サイズを柔軟にするには、を​​に置き換えてPanel.BackgroundImageを使用することもできます。次に、Panelを任意のサイズに設定して、たとえばBackgroundImageLayout = ImageLayout.Stretch

関連する問題