在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;
        }
    }
}
相关推荐
你是狒狒吗6 分钟前
TM中,return new TransactionManagerImpl(raf, fc);为什么返回是new了一个新的实例
java·开发语言·数据库
勤奋的知更鸟17 分钟前
Java编程之组合模式
java·开发语言·设计模式·组合模式
虾球xz24 分钟前
CppCon 2015 学习:3D Face Tracking and Reconstruction using Modern C++
开发语言·c++·学习·3d
林鸿群26 分钟前
C#子线程更新主线程UI及委托回调使用示例
开发语言·c#
o0向阳而生0o30 分钟前
63、.NET 异常处理
c#·.net·异常处理
SteveDraw3 小时前
C++动态链接库封装,供C#/C++ 等编程语言使用——C++动态链接库概述(总)
开发语言·c++·c#·封装·动态链接库
十五年专注C++开发3 小时前
设计模式之单例模式(二): 心得体会
开发语言·c++·单例模式·设计模式
flyair_China4 小时前
【云架构】
开发语言·php
Kookoos4 小时前
性能剖析:在 ABP 框架中集成 MiniProfiler 实现性能可视化诊断
后端·c#·.net·abp vnext·miniprofiler