0
C#でWinFormsを使用してカードゲームを作成しています。私が経験している問題は、ユーザー作成のコンテンツを追加したいので、私が先に進むのを妨げることです。目標は、宣言されたリソース/ファイルから動的にカードに画像を設定することです。私のコードを見てみましょう。ここでコントロールが静的オブジェクトから割り当てられているときに画像が表示されない
はここExpansionInit.cs
public static Card CopperCard = new Card
{
Name = "Copper",
ID = 0,
BuyValue = 0,
Type = CardType.Treasure,
TreasureValue = 1,
StackCount = GetCardStack(0),
};
です。ここGameGUI.cs
using System;
using System.Windows.Forms;
using Dominion.Expansions.Base;
using Dominion.Properties;
namespace Dominion
{
public partial class GameGui : Form
{
public GameGui()
{
Game.StartGame();
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//new HandGUI().Show();
cardCopper = ExpansionInit.CopperCard;
cardCopper.BackgroundImage = Resources._0_copper;
}
}
}
あるCard.cs
です。この部分を含むことは全く重要である場合がありますが、form1.Controls.Add(cardCopper)
と場所のリセットを再び追加する必要が問題
using System.Windows.Forms;
using Newtonsoft.Json;
namespace Dominion.Cards
{
public delegate void CardActivationHandler(Card c, Player p);
[JsonObject(MemberSerialization.OptIn)]
public sealed partial class Card : UserControl
{
// ReSharper disable once InconsistentNaming
[JsonProperty]
public int StackCount;
[JsonProperty]
public int ID;
[JsonProperty]
public int TreasureValue;
[JsonProperty]
public int VictoryValue;
[JsonProperty]
public int BuyValue;
[JsonProperty]
public CardType Type;
[JsonProperty]
public CardActivationHandler Handler;
[JsonProperty]
public new string Text { get; set; }
[JsonProperty]
public new string Name { get; set; }
public Card()
{
InitializeComponent();
}
}
public enum CardType
{
Victory, Treasure, Action, Other
}
}