如何使复选框按照标签c#(yahtzee)工作

时间:2016-03-01 08:08:00

标签: c#

enter image description here 这是我的表单运行,我想编码复选框,以便他们可以保存他们特定骰子的图片

Image[] diceImages;
int[] dice;
Random rand;

#endregion

#region Initialization

public Form1()
{
    InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
    diceImages=new Image[7];
    diceImages[0] = Properties.Resources.dice_face_0;
    diceImages[1] = Properties.Resources.dice_face_1;
    diceImages[2] = Properties.Resources.dice_face_2;
    diceImages[3] = Properties.Resources.dice_face_3;
    diceImages[4] = Properties.Resources.dice_face_4;
    diceImages[5] = Properties.Resources.dice_face_5;
    diceImages[6] = Properties.Resources.dice_face_6;

    dice = new int[5] { 0, 0, 0, 0, 0 };

    rand = new Random();
}

#endregion

private void btnRoll_Click(object sender, EventArgs e)
{
    for (int i = 0; i < dice.Length; i++)
        dice[i] = rand.Next(1, 7);

    Array.Sort(dice);

    lblDie1.Image = diceImages[dice[0]];
    lblDie2.Image = diceImages[dice[1]];
    lblDie3.Image = diceImages[dice[2]];
    lblDie4.Image = diceImages[dice[3]];
    lblDie5.Image = diceImages[dice[4]];
}

private void btnExit_Click(object sender, EventArgs e)
{
    this.Close();
}

private void chk4_CheckedChanged(object sender, EventArgs e)
{

}

我已经创建了5个名为chk1-5的复选框,我已经尝试过编写代码,但它不起作用,有人可以帮助我使这段代码工作。

1 个答案:

答案 0 :(得分:2)

虽然您的问题非常清楚,但实际上您希望自己的用户界面看起来如何,但使用UserControl可能会有所帮助:

您可以制作一个名为UserControl的新DiceControl,其中包含一个骰子图像及其对应的CheckBox。然后,您可以在设计器中将该控件的多个实例放在设计器中,就好像它只是一个控件一样。这可能会帮助您按照自己的方式调整内容。

您需要做的就是在DiceControl上创建方法/属性,以便获取/设置当前图像和当前保持状态。