【问题标题】:How to change the image in a picturebox in c# forms?如何在 c# 表单中更改图片框中的图像?
【发布时间】:2016-12-05 08:35:38
【问题描述】:

我正在尝试在 c# 中创建一个二十一点类型的克隆,所以我需要让我的牌在游戏加载时随机出现。

这是我尝试过的,但无济于事。 Cardgen 只是一个随机数生成器,textbox1 只是显示“游戏结束”的东西,而 picturebox1 是卡片。

        if (cardGen == 2)
        {
            pictureBox1.Image = Properties.Resources._2;

            score += 2;

            if (score > 21)
            {
                textBox1.Visible = true;
            }

        } 

【问题讨论】:

  • 结果如何?图片框中没有图像?你在资源中有这个名字的图片吗?你有什么错误吗?
  • 嘿,对不起。没有图像出现,是的,我确实有一个具有该名称的图像,不,我没有收到任何编译器错误。
  • 这里很难确定是什么问题,但值得仔细检查所有琐碎的点,例如确保 cardGen=2 并通过您的代码逐行调试,您可能会找到解决方案轻松地或给我们一个更好的问题描述。
  • 从磁盘加载图像并确认它首先工作。然后缩小图像资源未加载的原因。我建议你 load an image resource at Design-Time 然后转到 InitializeComponent 并查看设计器创建的代码并复制它。
  • 感谢你们两位的回答,我现在已经回答了一半我自己的问题。我意识到我把它放在“picturebox_click”下,所以如果我点击它出现的图像。抱歉,我没有发布更多代码,这是我第一次使用表单,我认为那部分无关紧要。话虽如此,现在我不太确定如何解决这个问题。

标签: c# winforms


【解决方案1】:

首先,我在资源中添加了 4 张图片。然后,添加了一个随机数生成器。使用生成的数字,不同的图片显示在图片框中。

    private void Form1_Load(object sender, EventArgs e)
    {
        Random rnd = new Random();
        int randomNumber = rnd.Next(1, 4);
        switch (randomNumber)
        {
            case 1:
                pictureBox1.Image = Properties.Resources._01;
                break;

            case 2:
                pictureBox1.Image = Properties.Resources._02;
                break;

            case 3:
                pictureBox1.Image = Properties.Resources._03;
                break;

            case 4:
                pictureBox1.Image = Properties.Resources._04;
                break;
        }
    }

【讨论】:

    猜你喜欢
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多