Visual C# - 以编程方式更改按钮的背景图像

时间:2016-12-07 19:28:08

标签: c# winforms

因此,我试图在Visual C#中创建一个简单的程序来计算“连接设备”的数量,这可以看作是点击的按钮数量。

代码应该检查点击了哪个按钮并更改了它的背景图像。它还应该更新表单上的计数和标签。

首先,这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Device_Storage
{
    public partial class Form1 : Form
    {
        int totalDevices = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void addDevice(object sender, EventArgs e)
        {
            try
            {
                Button clickedBtn = sender as Button;
                Image add_image = Properties.Resources.addDevice;
                Image remove_image = Properties.Resources.removeDevice;

                if (clickedBtn.BackgroundImage == Properties.Resources.addDevice)
                {
                    clickedBtn.BackgroundImage = remove_image;
                    totalDevices++;
                }
                else if (clickedBtn.BackgroundImage == Properties.Resources.removeDevice)
                {
                    clickedBtn.BackgroundImage = add_image;
                    totalDevices--;
                }

                updateLabel();
            } catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "An Error Occured");
            }

        }

        private void updateLabel()
        {
            label1.Text = "Connected devices: " + totalDevices;
        }
    }
}

(我还没有改变任何使用陈述,我通常会在我完成或100%确定我不会使用命名空间时这样做) 我自己无法找到代码有任何问题,Visual Studio(2015)也没有给出错误。 当我点击一个按钮(共有36个按钮)时没有任何反应,标签没有更新,图像没有变化,没有任何变化。我甚至没有收到错误,程序也没有崩溃。

如果有人能看到我做错了什么,可以帮我解决一下真的很感激。

(编辑:我的资源文件夹包含2个png文件," addDevice.png"和" removeDevice.png")

(新信息:所有按钮均以背景图片开头" addDevice.png"表示空槽)

0 个答案:

没有答案