在C#中使用资源保存图像和文本和其他数据并在运行时加载

资源是您可以构建到应用程序中的图像、字符串、文本文件和其他数据。您的程序可以在运行时加载资源以显示新图片、文本或其他内容。

要将资源添加到项目,请打开"项目"菜单并选择最底部的"属性"命令。在"属性"页面上,单击"资源"选项卡。现在,您可以使用"添加资源"下拉菜单将现有或新文件添加到程序的资源中。

当您向程序添加资源时,C# 会创建一个表示该资源的类型变量,名为namespace .Properties.Resources. resourcename,其中namespace是程序的命名空间,resourcename是资源的名称。例如,在此示例中,我添加了一个名为 Earth.jpg 的 jpg 文件,因此程序可以使用Bitmap变量Properties.Resources.Earth。

示例程序显示了一组RadioButton,标签分别为 Mercury、Venus、Earth 等。单击其中一个时,将执行类似以下的代码以显示相应的资源。

cs 复制代码
private void radMercury_CheckedChanged(object sender, EventArgs e)
{
    picPlanet.Image = Properties.Resources.Mercury;
}
cs 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace howto_use_resources
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void radMercury_CheckedChanged(object sender, EventArgs e)
        {
            picPlanet.Image = Properties.Resources.Mercury;
        }

        private void radVenus_CheckedChanged(object sender, EventArgs e)
        {
            picPlanet.Image = Properties.Resources.Venus;
        }

        private void radEarth_CheckedChanged(object sender, EventArgs e)
        {
            picPlanet.Image = Properties.Resources.Earth;
        }

        private void radMars_CheckedChanged(object sender, EventArgs e)
        {
            picPlanet.Image = Properties.Resources.Mars;
        }

        private void radJupiter_CheckedChanged(object sender, EventArgs e)
        {
            picPlanet.Image = Properties.Resources.Jupiter;
        }

        private void radSaturn_CheckedChanged(object sender, EventArgs e)
        {
            picPlanet.Image = Properties.Resources.Saturn;
        }

        private void radUranus_CheckedChanged(object sender, EventArgs e)
        {
            picPlanet.Image = Properties.Resources.Uranus;
        }

        private void radNeptune_CheckedChanged(object sender, EventArgs e)
        {
            picPlanet.Image = Properties.Resources.Neptune;
        }

        private void radPulto_CheckedChanged(object sender, EventArgs e)
        {
            picPlanet.Image = Properties.Resources.Pluto;
        }
    }
}
相关推荐
唐青枫几秒前
别把 Razor 当成几段 HTML:C#.NET Razor Pages、MVC 视图与实战详解
c#·.net
jimy1几秒前
readelf 查看“派生类”的vtable符号
开发语言·c++
ctlover33 分钟前
排序与查找算法详解
开发语言·python
YYYing.42 分钟前
【C++进阶系列 (七)】C++ RTTI 深度剖析:从 typeid 到 dynamic_cast 的底层之旅
开发语言·c++·c/c++·rtti
nvvas2 小时前
Java 入门(四):数组——数据的集合管理
java·开发语言
Y3815326623 小时前
SERP 数据清洗实战:字段标准化、日期解析与去重键
开发语言·数据库·python·python数据库
君顾13 小时前
本地城市低空经济管理系统定制:城市级低空运营平台架构与落地实战
java·开发语言·飞手
多多鼠4 小时前
System Prompt 的“版本漂移”问题:从变更管理到 A/B 测试体系
开发语言·网络·人工智能·python·langchain
WiChP4 小时前
【V0.1B16】从零开始的2D游戏引擎开发之路
开发语言·算法·游戏引擎
孙启超5 小时前
【AI开发之Rust】第 8 课:泛型、trait 与 trait 对象
开发语言·后端·rust