我正在尝试编写一个Windows窗体应用程序.我有一些按钮,我需要根据变量的状态更改按钮的图像.我将图像放在Resources文件夹中,我试图像这样到达它们:
Image im = Properties.Resources.green;
如何使用"im"变量名从项目中的所有类中获取此im值?
您正在寻找的是一个简单的全局变量,但它们没有C#中的那些变量.一个简单的替代方法是创建一个名为MyImages(或其他)的类,然后使"im"成为静态公共字段,如下所示:
public class MyImages
{
public static Image im = Properties.Resources.green;
}
Run Code Online (Sandbox Code Playgroud)
然后,从项目的任何位置,您可以使用以下代码访问"im":
Image newImage = MyImages.im;
Run Code Online (Sandbox Code Playgroud)
一些程序员可能会从这样的事情中惊慌失措,并坚持"依赖注入"或正确的单身人士,或使"im"私有并创建一个获取/设置公共财产,或类似的东西.但是,如果您确实需要从代码中的任何位置访问此Image,这是一种简单有效的方法,它实现了保持代码在一个位置生成Image的目标.