我正在尝试使用C#/ Visual Studio更改每个按钮的颜色,但是什么也没发生

雅克里
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 Cameron_PickerillTrinitapoli_Assn1
{
    public partial class seasonalBttnChanger : Form
    {
        public seasonalBttnChanger()
        {
            InitializeComponent();
        }

        //Triggers when program first loads
        //Sets up
        private void bttnChanger_Load(object sender, EventArgs e)
        {
            List<Button> lstTxt = new List<Button>
            {
            bttnSpring, bttnSummer, bttnAutumn, bttnWinter
            };

            //Wiring up event handlers in run time
            foreach (Button txt in lstTxt)
            {
                txt.MouseEnter += button_MouseEnter;
                txt.MouseLeave += button_MouseLeave;
            }
        }

        // Sets up different background colors for TextBoxes
        //* Static values for the color of each button need
        //to be added.
        //**Not what I was trying to accomplish
        //**This needs to go somewhere else
        void button_MouseEnter(object sender, EventArgs e)
        {
            try
            {
                // Event handlers always pass the parameter "sender" in as an object.
                //  You have to downcast it back to the actual type.
                String bttnName = null;
                String bttnNameSpring = "Spring";
                String bttnNameSummer = "Summer";
                String bttnNameAutumn = "Autumn";
                String bttnNameWinter = "Winter";
                Button txt = (Button)sender;
               // stkColor.Push(txt.BackColor);
                //txt.BackColor = Color.Red;
                bttnName = txt.Name;

                if (bttnName == bttnNameSpring)
                {
                    txt.BackColor = Color.LightGreen;
                }
                else if (bttnName == bttnNameSummer)
                {
                    //txt.BackColor = Color.Red;
                    txt.BackColor = Color.Red;
                }
                else if (bttnName == bttnNameAutumn)
                {
                    txt.BackColor = Color.Yellow;
                }
                else if (bttnName == bttnNameWinter)
                {
                    txt.BackColor = Color.Cyan;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n   " + ex.Message);
            }
        }

        //Handler for mouse leaving the button
        void button_MouseLeave(object sender, EventArgs e)
        {
            try
            {
                Button txt = (Button)sender;
                //txt.BackColor = stkColor.Pop();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n   " + ex.Message);
            }
          }
        }
    }
}

好吧,所以我只是试图创建一个简单的程序,当您将鼠标悬停在这些按钮上时,将这些按钮的背景色更改为一些纯色。使用TextBox时,我有同样的事情,但是我需要使它与按钮一起工作。我更改了所有内容以使用Button类,它似乎具有所有相同的功能,但是现在程序运行了,但是当您将鼠标悬停在按钮上时没有任何反应。

我对C#,堆栈交换非常陌生,对于一般的编程而言,我只是个新手,所以如果对礼节/格式化问题等感到抱歉,那么对不起。

肖恩·伦肖

我认为您在实际调用按钮名称时尝试引用按钮标题

变更:

            String bttnName = null;
            String bttnNameSpring = "Spring";
            String bttnNameSummer = "Summer";
            String bttnNameAutumn = "Autumn";
            String bttnNameWinter = "Winter";
            Button txt = (Button)sender;

到:

                String bttnName = null;
            String bttnNameSpring = "bttnSpring";
            String bttnNameSummer = "bttnSummer";
            String bttnNameAutumn = "bttnAutumn";
            String bttnNameWinter = "bttnWinter";

使代码正常工作。

如果您确实要使用“ Spring”,“ Summer”等引用,则建议不要更改

bttnName = txt.Name;

bttnName = txt.Text;

并确保标签的文本设置正确

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

dart上次更新后,重构选项消失了,该怎么办,我尝试重新启动并卸载了Visual Studio Code,但是什么也没发生

来自分类Dev

Visual Studio 2015类库(我正在使用C#)

来自分类Dev

我的更新查询不起作用。我正在使用 Visual Studio 2015,并且正在尝试更新访问数据库

来自分类Dev

我正在尝试使RDotNet与C#一起使用,但是遇到问题

来自分类Dev

如何将WPF中的默认Mainwindows窗体更改为WIndow1 c#。我正在使用Visual Studio 2012

来自分类Dev

Windows 7,进入BIOS失败(我可以启动它,但是什么也没发生)

来自分类Dev

我必须使用Visual Studio进行C#编码吗?

来自分类Dev

我正在尝试使用布尔值更改imageview的颜色,我想念的是什么?

来自分类Dev

我正在为 Visual Basic 2017 中的 c# 表单创建登录页面,每次尝试使用正确的凭据登录时都会出错

来自分类Dev

尝试在Visual Studio C#中使用Microsoft.Kinect命名空间

来自分类Dev

我正在尝试使用C#创建与Trac Wiki兼容的简单Wiki解析器,但是正则表达式使我丧命

来自分类Dev

尝试在Visual Studio C#中将日历控件居中

来自分类Dev

Visual Studio for C#

来自分类Dev

我正在尝试更改类别文件中的按钮颜色,但是我不知道吗?

来自分类Dev

在C#中使用库(Visual Studio)

来自分类Dev

Visual Studio忽略Visual Studio(C#)中的SQL更改

来自分类Dev

Visual Studio C#的默认编码颜色

来自分类Dev

Visual Studio C#的默认编码颜色

来自分类Dev

Xdebug-Visual Studio代码-进入/跳过-什么都没发生

来自分类Dev

Visual Studio C#多按钮数组

来自分类Dev

Visual Basic-使用循环更改按钮颜色

来自分类Dev

我可以使用Visual Studio C#引用类库项目的Blazor项目

来自分类Dev

我可以使用Visual Studio Analysis Bootstrapper在Sonar中分析C#测试项目吗?

来自分类Dev

Visual Studio C#不允许我使用Microsoft.AspNet.Identity命名空间

来自分类Dev

如何找出我在 Visual Studio 2017 中使用的 c# 项目类型?

来自分类Dev

如何在 Visual Studio 中使用 OpenCV Nuget 包发布我的 C# 项目?

来自分类Dev

我正在尝试使用布尔值更改imageview的颜色,我缺少什么?

来自分类Dev

我正在尝试通过 Visual Studio 将 excel 文件导入 SQL。如何让它从第二行开始读取数据?

来自分类Dev

为什么我尝试使用 Visual Studio 工具在 Windows 上构建 OpenSSL 失败?

Related 相关文章

  1. 1

    dart上次更新后,重构选项消失了,该怎么办,我尝试重新启动并卸载了Visual Studio Code,但是什么也没发生

  2. 2

    Visual Studio 2015类库(我正在使用C#)

  3. 3

    我的更新查询不起作用。我正在使用 Visual Studio 2015,并且正在尝试更新访问数据库

  4. 4

    我正在尝试使RDotNet与C#一起使用,但是遇到问题

  5. 5

    如何将WPF中的默认Mainwindows窗体更改为WIndow1 c#。我正在使用Visual Studio 2012

  6. 6

    Windows 7,进入BIOS失败(我可以启动它,但是什么也没发生)

  7. 7

    我必须使用Visual Studio进行C#编码吗?

  8. 8

    我正在尝试使用布尔值更改imageview的颜色,我想念的是什么?

  9. 9

    我正在为 Visual Basic 2017 中的 c# 表单创建登录页面,每次尝试使用正确的凭据登录时都会出错

  10. 10

    尝试在Visual Studio C#中使用Microsoft.Kinect命名空间

  11. 11

    我正在尝试使用C#创建与Trac Wiki兼容的简单Wiki解析器,但是正则表达式使我丧命

  12. 12

    尝试在Visual Studio C#中将日历控件居中

  13. 13

    Visual Studio for C#

  14. 14

    我正在尝试更改类别文件中的按钮颜色,但是我不知道吗?

  15. 15

    在C#中使用库(Visual Studio)

  16. 16

    Visual Studio忽略Visual Studio(C#)中的SQL更改

  17. 17

    Visual Studio C#的默认编码颜色

  18. 18

    Visual Studio C#的默认编码颜色

  19. 19

    Xdebug-Visual Studio代码-进入/跳过-什么都没发生

  20. 20

    Visual Studio C#多按钮数组

  21. 21

    Visual Basic-使用循环更改按钮颜色

  22. 22

    我可以使用Visual Studio C#引用类库项目的Blazor项目

  23. 23

    我可以使用Visual Studio Analysis Bootstrapper在Sonar中分析C#测试项目吗?

  24. 24

    Visual Studio C#不允许我使用Microsoft.AspNet.Identity命名空间

  25. 25

    如何找出我在 Visual Studio 2017 中使用的 c# 项目类型?

  26. 26

    如何在 Visual Studio 中使用 OpenCV Nuget 包发布我的 C# 项目?

  27. 27

    我正在尝试使用布尔值更改imageview的颜色,我缺少什么?

  28. 28

    我正在尝试通过 Visual Studio 将 excel 文件导入 SQL。如何让它从第二行开始读取数据?

  29. 29

    为什么我尝试使用 Visual Studio 工具在 Windows 上构建 OpenSSL 失败?

热门标签

归档