制作背景图像随按钮大小缩放

2023-12-24

我正在尝试向 Win Forms 应用程序中的几个按钮添加一些背景图像。这三张图像的尺寸不同(即像素尺寸不匹配,一张为 128x128,另一张为 256x256)。我需要按钮的大小相同(否则 GUI 会非常不对称)。在不更改实际图像文件的情况下,如何使图像随按钮大小缩放?

我尝试创建自己的类,并为按钮调整大小事件添加事件处理程序,但这似乎不起作用。我的代码:

class CustomButton : Button {

        internal void CustomButton_Resize( object sender, EventArgs e ) {
            if ( this.BackgroundImage == null ) {
                return;
            }

            var pic = new Bitmap( this.BackgroundImage, this.Width, this.Height );
            this.BackgroundImage = pic;
        }
    }

并采用以下形式:

this.buttonOne.Resize += new System.EventHandler(this.buttonOne.CustomButton_Resize);

忘了说,上面的代码根本没有调整图像的大小。按钮仍然需要具有不同的尺寸才能完整地显示图像。


将背景图像添加到 .NET Button 对象并缩放以适合的最简单方法

我使用此方法来避免对新类和事件处理程序进行任何额外的编码。这还帮助我避免将所有 Button 对象转换为 Image 对象。

  1. 将图像添加到您的 Resources.resx 文件中。

  2. 单击您选择的按钮。

  3. 导航至BackgroundImage属性并选择导入到项目的 resources.resx 文件中的图像。

  4. 导航至BackgroundImageLayout属性并选择Stretch.

确保您没有输入任何内容Image and Text属性,否则它们会干扰您的新背景图像。

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

制作背景图像随按钮大小缩放 的相关文章

  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • Java中按字段名称分组

    我正在尝试按 Java 对象的字段对它们进行分组 即人 java public class Person String name String surname 所以如果我有nPerson 反对 将所有名为 David 的人放入地图中的最简单
  • 用java编写C#委托

    我怎样才能在java版本中编写下面的代码 我读过类似的问题 但它们很令人困惑 他们回答说java没有像c 那样的委托功能 另一方面他们用java中的委托实现来回答 但没有什么与我的情况相似 我真的希望这个问题是清楚的 一周以来我一直被困住
  • 如何使用多个值设置 Amazon RDS SQL_MODE

    MySQL 允许在 my cnf 文件中将参数 SQL MODE 设置为多个值 如何在 Amazon RDS 上执行相同操作 更新 此问题已得到解决 见下文 MySQL 允许在 my cnf 文件中将参数 SQL MODE 设置为多个值 但
  • 如何正确推送 JSQMessagesViewController

    我有一个 Swift 项目 并尝试在其中使用 JSQMessagesViewController 我已经使用 cocoapods 来安装框架 并使用 swift import 语句导入它 import JSQMessagesViewCont
  • 如何从 C 中获取 ld 链接描述文件中定义的变量值

    我正在编写一个运行裸机的程序 我试图从自定义链接器脚本中获取一个变量以在 C 中使用 这是我尝试过的 From C extern unsigned long START OF PROG MEMORY volatile unsigned lo
  • 从 C# 向 PLC 发送 FINS 命令

    我尝试发送FINS命令通过 UDP 从 PC C NET 发送到 PLC 以太网模块 Omron 但没有从 PLC 得到任何响应 并且不知道从哪里可以开始故障排除 PLC has a very simple ladder logic as
  • Kotlin arrow-kt 扁平化嵌套 任一

    我正在使用函数库进行编程arrow kt 原名kategory 我在用着Eithermonad 用于聚合 api 调用的错误或成功信息 我让自己陷入了一种我有嵌套的状态 这本来就不应该发生 Either单子 我试图扁平化结构以获得内部单子
  • 使用子进程打开 Windows 快捷方式文件“.lnk”

    我对 Python 相当陌生 一直在尝试制作一个程序来为我打开 Minecraft 启动器 Context 然而 新的启动器 exe文件被阻止 因为它位于 windowsapp 文件中 这需要很多我宁愿避免的事情 所以我希望看看是否可以打开
  • 将 Android ADT 工具从 21.0.1 更新到 21.1.0

    我已将 SDK 更新到 21 1 以及如何更新旧版本中的 ADT 21 1 当我打开我的 SDK 时 它显示 此 Android SDK 需要 Android Developer Toolkit 版本 21 1 0 或更高版本 当前版本为
  • 编辑用户出错,临时更改了app.user.username,如何解决?

    我们为用户使用 Symfony2 框架和 FOSUserBundle 所以我们有自己的UserBundle 它继承自FOSUserBundle 问题是 当我们发送用于编辑密码错误的用户的表单时 标头中显示的 app user usernam
  • 在 spring mvc 控制器中使用服务和 DAO

    我正在构建一个 Web 应用程序 主要由后端 数据库数据的 CRUD 操作组成 在某些情况下 我必须编写业务逻辑 我确信随着我们深入开发 我们将构建更多的业务逻辑 目前 对于我创建的每个 UI 屏幕 我创建一个模型类 Service 类 D
  • 对多个源文件使用一次 #define

    Visual C 中有没有办法在 cpp 文件中 define 某些内容并在其他 cpp 文件中定义它 至少有两个选择 将定义放入头文件中 并将该头文件包含在需要定义的所有源文件中 Use the D编译器选项 http msdn micr
  • Bootstrap 3 将页脚对齐到底部。不固定

    我正在为我正在设计的网站使用 Bootstrap 3 我想要一个像这个示例一样的页脚 Sample http wrapbootstrap com preview WB0B348C6 请注意 我不想修复它 因此 bootstrap navba
  • 我可以在 Action 或 Func 委托中使用参数吗?

    当我尝试在操作委托中使用参数时 private Action
  • Eclipse 安装软件显示“无法完成请求”

    我正在使用 Eclipse Luna Service Release 1 4 4 1 当我尝试安装新软件时 它给出了一些错误消息 例如Cannot complete the request This installation has not
  • 如何在 UILabel 中换行

    我有一个 UILabel 位于自定义 UITableViewCell 内 我试图将单词包含在 UILabel 内 但是我遇到了一些问题 这是 UITableViewCell 在 Interface Builder 中的外观 UILabel
  • 解决错误:“Timer”是“System.Windows.Forms.Timer”和“System.Timers.Timer”之间的不明确引用

    我正在尝试创建一个 Windows 窗体应用程序 并且我想实现一个计时器 public void timerStart DateTime now DateTime Now DateTime finish base taskEndDate f
  • 用于多个活动的 ViewPager

    我正在尝试实现一个具有多个活动的 ViewPager 我正在关注这个example https github com JakeWharton Android ViewPagerIndicator但这看起来并不使用多个活动 而是使用片段 如果
  • 有没有一种方法无需在 SQL Server 中进行转换即可获取布尔值?

    我发现很奇怪的是 像这样的简单代码无效 select from table where field true 另一种选择显然是 select from table where field true 好吧 我想我可以忍受 由于某种原因 我最近
  • 制作背景图像随按钮大小缩放

    我正在尝试向 Win Forms 应用程序中的几个按钮添加一些背景图像 这三张图像的尺寸不同 即像素尺寸不匹配 一张为 128x128 另一张为 256x256 我需要按钮的大小相同 否则 GUI 会非常不对称 在不更改实际图像文件的情况下