用户控制:如何在 setter/getter 中的按钮上添加背景图像

Posted

技术标签:

【中文标题】用户控制:如何在 setter/getter 中的按钮上添加背景图像【英文标题】:User Control: how to add background image on button in setter/getter 【发布时间】:2021-11-04 15:02:01 【问题描述】:

在用户控件设计器中,我知道如何添加背景图片。 我的图像 (16x16px) 位于用户控件中。如何在代码中添加此图像? 如何将图像嵌入到用户控件中,以便当我将控件带到另一个项目时,图像也会出现?

private Bitmap buttonResetImage = null;// <-- here I want to load my initial image.Then the user can change this image as he wishes;

public Bitmap ButtonResetImage

    get  return buttonResetImage; 
    set
    
        buttonResetImage = value;
        btnReset.BackgroundImage = buttonResetImage;
        btnReset.BackgroundImageLayout = ImageLayout.Center;
    

好吧,既然 MDP 没有响应,我就找到了窍门。我需要初始化这个:

private Bitmap buttonResetImage = global::SliderControl.Properties.Resources.Reset;

如果我只使用:

private Bitmap buttonResetImage = SliderControl.Properties.Resources.Reset;

我收到此错误:

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

https://i.imgur.com/az52MOP.png

【问题讨论】:

这个问题应该包含更多细节并澄清问题。具体来说你尝试了什么? 假设您已经构建了一个 UserControl 项目(通常是一个 Windows 窗体控件库),您可以将不同类型的资源添加到您的项目中。然后只需使用Properties.Resources.ResourceName 将兼容的属性值设置为存储的资源。 -- 您可以使用设计器设置您的 UC 的属性。 ;) 你必须等待。我们生活在不同的时区 【参考方案1】:

为了创建具有任何类型资源的用户控件,例如:

图片 字体 音频 图标

等等,您可以在一个单独的项目(称为Windows Forms Control Library)中创建它们并在其中添加资源。 毕竟,结果(在本例中为 dll 文件)包含您需要的所有资源和代码库。您可以在任何您想要的地方使用它。

【讨论】:

你能举个很简单的例子吗? 当然,请看一下这个article。它有点旧,但我相信它可以帮助你。 感谢 MDP,但本文没有图像作为属性。这对我没有多大帮助。 它包含创建可重复使用的窗体组件的基本功能。添加图像并不是什么大问题。它就像颜色一样。如果你需要一个真实的例子。我可以在 github 上为你创建一个简单的 on 并将链接发送给你。 如果我向您发送我的用户控制解决方案怎么样?

以上是关于用户控制:如何在 setter/getter 中的按钮上添加背景图像的主要内容,如果未能解决你的问题,请参考以下文章

java中的setter和getter有啥意义? [复制]

在 Lombok 中省略一个 Setter/Getter

使用lombok时@Setter @Getter无效

如何在 v-model 中为基于类的组件使用 getter 和 setter?

getter和setter

getter和setter