按钮悬停颜色更改动画 c#

2023-11-29

我创建了一个 Windows 窗体,它有 3 个按钮。因此,我想通过使用 mouseenter 事件来更改颜色的一键式按钮。工作正常。但我需要通过淡入或淡出的过渡来改变颜色。任何对此问题有答案的人请告诉我下面的代码,我将向您展示我的 mouseenter 和 mouseleave 事件

private void button1_MouseEnter(object sender, EventArgs e)
{
   button1.UseVisualStyleBackColor = false;
   button1.BackColor = Color.Black;
   button1.ForeColor = Color.White;
}

private void button1_MouseLeave(object sender, EventArgs e)
{
   button1.UseVisualStyleBackColor = true;
   button1.ForeColor = Color.Black;
}

这里有一些代码可以帮助您继续:它通过混合 Alpha 通道引入新的颜色。

public Form1()
{
    InitializeComponent();
    oldColor = button1.BackColor;
}


Color oldColor;
Color newColor = Color.FromArgb(0, Color.MediumAquamarine);  // your pick, including Black
int alpha = 0;

private void button1_MouseEnter(object sender, EventArgs e)
{
    alpha = 0;
    timer1.Interval = 15;
    timer1.Start();
}

private void button1_MouseLeave(object sender, EventArgs e)
{
    timer1.Stop();
    button1.BackColor =  oldColor;
    button1.ForeColor = Color.Black;
}

private void timer1_Tick(object sender, EventArgs e)
{
    alpha += 17;  // change this for greater or less speed
    button1.BackColor = Color.FromArgb(alpha, newColor);
    if (alpha >= 255) timer1.Stop();
    if (button1.BackColor.GetBrightness() < 0.3) button1.ForeColor = Color.White;
}

Edit:如果将 newColor 设置为太暗,则最后一条刻度线现在会将 ForeColor 设置为白色。

Edit 2:应用相同的动画several纽扣:

  • 添加类变量Button curButton;
  • MouseEnter and MouseLeave所有按钮的事件都指向上面完全相同的事件
  • 在顶部添加这一行MouseEnter : Button curButton = (Button) sender;
  • 更改每次出现的button1 to curButton.

拥有一个个性新色对于每个按钮

  • 将 newColors 存储在 Buttons 中Tags而不是类变量:

    • button1.Tag = Color.MediumAquamarine;
    • button2.Tag = Color.MediumSeaGreen;//..ETC..
  • 将其添加到MouseEnter: newColor = (Color)curButton.Tag;作为第二行

我开始喜欢这一切,尽管不是黑色;-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按钮悬停颜色更改动画 c# 的相关文章

  • 更新面板工作速度非常慢

    我正在编写一个用户可以注册的应用程序 注册时 可以选择多个选项 并根据这些注册字段可见或不可见以及是否必需 我想出了一个想法 所有字段都将位于 updatePanel 中 当用户更改注册选项时 我将在服务器端设置这些字段的可见性 它可以工作
  • Exit() 时是否调用基本对象析构函数?

    我意识到这个问题已经出现过几次 但我试图获得上述问题的明确答案 但我不断遇到相互矛盾的信息 我需要知道的是 当我使用 exit 时 基本类对象是否被破坏 我知道需要删除动态内存 但我的意思更像是 include
  • 如何在 VC++ CString 中验证有效的整数和浮点数

    有人可以告诉我一种有效的方法来验证 CString 对象中存在的数字是有效整数还是浮点数吗 Use tcstol http msdn microsoft com en us library w4z2wdyc aspx and tcstod
  • 尝试了解使用服务打开对话框

    我已经阅读了有关使用 mvvm 模式打开对话框的讨论 我看过几个使用服务的示例 但我不明白所有部分如何组合在一起 我发布这个问题寻求指导 以了解我应该阅读哪些内容 以更好地理解我所缺少的内容 我将在下面发布我所拥有的内容 它确实有效 但从我
  • Grpc - 将消息从一个客户端发送到连接到同一服务器的另一个客户端

    是否可以将消息从一个客户端发送到连接到同一服务器的另一个客户端 我想将数据从一个客户端发送到服务器然后发送到特定客户端 我想我需要获取客户端 ID 但我不知道如何获取此 ID 以及如何从服务器将此消息发送到该客户端 我这里有一个样本 这是一
  • 循环遍历 C 结构中的元素以提取单个元素的值和数据类型

    我有一个要求 我有一个 C 语言的大结构 由大约 30 多个不同数据类型的不同元素组成 typedef struct type1 element1 type2 element2 type3 element3 type2 element4 1
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 有些有助于理解“产量”

    在我不断追求少吸的过程中 我试图理解 产量 的说法 但我不断遇到同样的错误 someMethod 的主体不能是迭代器块 因为 System Collections Generic List 不是迭代器接口类型 这是我被卡住的代码 forea
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • 如何递归取消引用指针(C++03)?

    我正在尝试在 C 中递归地取消引用指针 如果传递一个对象 那就是not一个指针 这包括智能指针 我只想返回对象本身 如果可能的话通过引用返回 我有这个代码 template
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • 模板外部链接?谁能解释一下吗?

    模板名称具有链接 3 5 非成员函数模板可以有内部链接 任何其他模板名称应具有外部链接 从具有内部链接的模板生成的实体与在其他翻译单元中生成的所有实体不同 我知道使用关键字的外部链接 extern C EX extern C templat
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • 如何最好地以编程方式将 `__attribute__ ((unused))` 应用于这些自动生成的对象?

    In my makefile我有以下目标 它将文本 HTML 资源 编译 为unsigned char数组使用xxd i http linuxcommand org man pages xxd1 html 我将结果包装在匿名命名空间和标头保
  • 如何解压 msgpack 文件?

    我正在将 msgpack 编码的数据写入文件 在编写时 我只是使用 C API 的 fbuffer 如 我为示例删除了所有错误处理 FILE fp fopen filename ab msgpack packer pk msgpack pa
  • Visual Studio 2015 - Web 项目上缺少共享项目参考选项卡

    我从 MSDN 订阅升级到 Visual Studio 2015 因为我非常兴奋地阅读有关共享项目的信息 当我们想要做的只是重用代码时 不再需要在依赖项中管理 21382 个 nuget 包 所以我构建了一个测试共享项目 其中包含一些代码
  • 没有“对 *this”功能的右值引用的解决方法

    我有一个围绕可移动对象的代理容器类 并希望代理能够隐式生成对底层对象的右值引用 但仅当代理本身被移动时 我相信我将能够按照提案 n2439 实施此行为 将移动语义扩展到 this http www open std org jtc1 sc2
  • 如何在 sql azure 上运行 aspnet_regsql? [复制]

    这个问题在这里已经有答案了 可能的重复 将 ASP NET 成员资格数据库迁移到 SQL Azure https stackoverflow com questions 10140774 migrating asp net membersh
  • 为什么空循环使用如此多的处理器时间?

    如果我的代码中有一个空的 while 循环 例如 while true 它将把处理器的使用率提高到大约 25 但是 如果我执行以下操作 while true Sleep 1 它只会使用大约1 那么这是为什么呢 更新 感谢所有精彩的回复 但我
  • 在 System.Type 上使用条件断点时出错

    这是函数 public void Init System Type Type this Type Type BuildFieldAttributes BuildDataColumns FieldAttributes 我在第一行设置了一个断点

随机推荐

  • 对猫鼬中的嵌套数组进行排序

    我有一个包含数组或音乐的 PlaylistShema 在这一系列音乐中我有一个ObjectId 参考音乐收藏 addedAt and a title 播放列表Shema var PlaylistSchema new Schema title
  • 在多线程应用程序中使用 OpenSSL

    我一直在 Ubuntu 上用 C 编写 SOAP 客户端应用程序 使用 OpenSSL 进行 HTTPS 传输 使用 pthreads 进行线程处理 我有许多线程 一个中央数据获取线程定期获取工作线程以通过共享互斥保护队列发出 SOAP 请
  • Click() 函数在量角器脚本中不起作用

    我正在尝试使用 Protractor 和 Appium 对 iPad 模拟器中带有 jasmine 框架的 AngularJS 网站进行自动化测试 sendkeys 函数适用于用户名和密码 但是当我单击登录按钮时 测试通过了 但操作未完成
  • ASP Classic - 将 base64 二进制字符串转换为字节数组

    我正在尝试将 base64binary 字符串转换为经典 ASP 中的字节数组 ASP 中不存在 StrConv 我的目标是获取从 Web 服务调用接收到的 base64binary 字符串 并将二进制格式写入文件 thanks m 前段时
  • 一起使用 TableCellRenderer 和 getColumnClass

    当我将 getcolumn 类添加到我的 Abstracttablemodel 时 我无法使用自定义 TableCellRenderer 来设置背景颜色 我用它来排序 对齐数字列 public Class getColumnClass in
  • NodeJS 中的基本静态文件服务器

    我试图在 Node js 中创建一个静态文件服务器 更多的是作为理解 Node 的练习 而不是作为一个完美的服务器 我很了解 Connect 和 node static 等项目 并完全打算使用这些库来编写更多可用于生产的代码 但我也喜欢了解
  • 可以创建插图吗?

    我知道当你使用par fig c new T 您可以创建插图 但是 我想知道是否可以使用 ggplot2 库来创建 插图 图 更新1 我尝试使用par 用ggplot2 但它不起作用 更新2 我找到了一个可行的解决方案ggplot2 谷歌群
  • 在 iFrame 内的新窗口中打开链接

    我正在寻找创建类似于 Digg Stumbleupon 栏的东西 它固定在新打开的页面的顶部 在我的应用程序中 我显示了一堆指向外部站点的链接 不 当有人单击其中一个时 我希望它们在新选项卡中打开 我的徽标 栏位于页面顶部 我认为这可以使用
  • cookie“安全”标志如何工作?

    我知道 cookie 与secure标志不会通过未加密的连接发送 我想知道这是如何深入运作的 谁负责决定是否发送cookie 客户端仅为加密连接设置此项 这在中定义RFC 6265 Secure 属性将 cookie 的范围限制为 安全 通
  • 如何在symfony2中设置表前缀

    就像问题主题一样 如何在 symfony2 中设置默认表前缀 如果可以为所有实体默认设置 但可以选择覆盖单个实体 那就最好了 在我自己弄清楚这一点之后 我想详细说明如何实现这一目标 Symfony 2 Doctrine 2 1 Note I
  • Fortran 语言中的日期时差

    我的目标是让 fortran 返回作为字符串传入的两个时间之间的差异 与 VBA 的 TimeDiff 非常相似 我已经在 Fortran 中处理日期和时间有一段时间了 但在这种特殊情况下找不到我需要的东西 Fortran 中的第一个问题是
  • 在R中,如何查找位于工作目录之上的任何父目录中的文件?

    当我位于给定的工作目录中时 如何找到位于的文件any上升了几级 我想按文件名搜索该文件 但不知道该文件是否仅位于上一级目录 还是位于上一级目录 因此 我正在寻找一种每次升级一级并搜索文件的方法 找到后 我想获取该文件的绝对完整路径 我正在尝
  • matlab 热图转彩色图像

    我有一个灰度图像 我可以使用以下命令在 matlab 中创建热图 I imagesc I 它以颜色显示强度值 我想使用此热图获取彩色图像 我该怎么做 This is the output of imagesc 据推测 彩色图像 是指 RGB
  • 使用react-data-table-component过滤数据表

    我需要将下面的代码转换为没有钩子的普通类组件 任何人都可以帮助我 这是我指的链接https jbetancur github io react data table component path story filtering exampl
  • C# 如何判断hwnd是否在托盘图标中

    我正在尝试获取当前托盘图标的 hwnd 我所做的是使用以下代码获取系统trat窗口的hWnd DllImport user32 dll SetLastError true static extern IntPtr FindWindowEx
  • 当数组有子数组时 array_intersect 会抛出错误

    我正在尝试使用array intersect比较两个数组的数组 start array id gt 1 name gt Up action gt up start array id gt 3 name gt Down action gt d
  • JBoss Wildfly 与 Jersey Web 服务部署错误 JBAS011859:命名上下文是只读的

    我正在开发一个使用 Jersey Servlet 1 18 1 的 Java Web 服务项目 将我的 EAR 文件部署到 Jboss WildFly 8 1 0 时 我收到以下错误 并且我不确定为什么它会中断 因为同一个 EAR 文件在
  • 如何在 Google App Engine 的 ManyToOne 端按父实体过滤实体

    我使用谷歌应用程序引擎 当我尝试执行如下 JPA 查询时 SELECT p FROM Participant p WHERE p party id partyKey AND p name participantName 我收到以下错误 Ca
  • ng-repeat 动画不起作用

    我的 ng repeat 动画似乎不起作用 这是笨蛋 http plnkr co edit kYtzM9d0rzGmrniybz9c p preview 任何输入 1 您已注册两个模块 And Remove ng app来自 html 标签
  • 按钮悬停颜色更改动画 c#

    我创建了一个 Windows 窗体 它有 3 个按钮 因此 我想通过使用 mouseenter 事件来更改颜色的一键式按钮 工作正常 但我需要通过淡入或淡出的过渡来改变颜色 任何对此问题有答案的人请告诉我下面的代码 我将向您展示我的 mou