You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在User Control的get/set中为按钮添加背景图并嵌入资源跨项目使用

用户控件嵌入图片及代码加载方案

需求说明

  • 需通过代码为用户控件内的按钮加载16x16px内置背景图,后续支持用户自定义替换该图片
  • 需将图片嵌入控件程序集,保证控件迁移到其他项目时图片可正常显示

初始代码

private Bitmap buttonResetImage = null;// <-- 此处需要加载默认图片
public Bitmap ButtonResetImage
{
    get { return buttonResetImage; }
    set
    {
        buttonResetImage = value;
        btnReset.BackgroundImage = buttonResetImage;
        btnReset.BackgroundImageLayout = ImageLayout.Center;
    }
}

正确实现步骤

  1. 先将目标图片添加到控件项目的资源文件中:右键项目 → 选择「属性」→ 切换到「资源」 tab → 点击「添加资源」→ 选择「添加现有文件」,选中你的16x16px图片,保存后将资源文件中对应图片的「生成操作」属性修改为「嵌入的资源」,确保图片被编译到程序集内,迁移项目不会丢失。
  2. 初始化字段时通过全局命名空间引用资源即可:
private Bitmap buttonResetImage = global::SliderControl.Properties.Resources.Reset;

常见报错说明

如果省略global::前缀,直接写SliderControl.Properties.Resources.Reset,会触发CS0117错误:

Error   CS0117  'SliderControl' does not contain a definition for 'Properties'  SliderControl

这是因为如果当前作用域下存在同名的SliderControl类/成员,编译器会优先匹配局部定义,无法找到项目根下的Properties资源类。global::前缀会强制编译器从全局根命名空间开始查找,即可解决该问题。

内容的提问来源于stack exchange,提问作者alphabeta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:15:03