C#中使用嵌入的资源

1、嵌入资源
首先,我们来看一个简单的示例,了解如何实现嵌入。假设要在基于 Windows® 窗体的应用程序中嵌入一个名为1.jpg 的图形图像。首先,要将该文件添加到 Visual Studio® 项目中。然后,在该文件的属性表中,将生成方式设置为嵌入的资源,如图 1 所示。这样,就指示 Visual Studio 将该文件嵌入输出程序集 .exe 文件的物理图像了。
一旦将某个文件作为资源嵌入,就必须了解如何在运行时访问它。请参见以下代码片段,它先获得对当前程序集对象的引用,然后调用 GetManifestResourceStream 方法以获得对嵌入的资源文件基于流的访问。该代码假定导入了 System.Reflection 和 System.IO 命名空间:

2、调用方式:

        private void button4_Click(object sender, EventArgs e)
      {

            Assembly asm = Assembly.GetExecutingAssembly();

            string ResourceName = "OracleToAccess.1.jpg";

            Stream pStream = asm.GetManifestResourceStream(ResourceName);

            //'*** convert stream into image and load in    '*** picture box

            Image img = Image.FromStream(pStream);

            pictureBox1.Image = img;

       }

3、文本文件

如果为文本文件sqlfnc.txt,


调用如下:

public string getStrByResFileName(string ResourceName)

        {

            Assembly asm = Assembly.GetExecutingAssembly();           

            Stream pStream = asm.GetManifestResourceStream(ResourceName);

            string str = "";

            StreamReader m_streamReader = new StreamReader(pStream, System.Text.Encoding.GetEncoding("GB2312"));//中文乱码加上System.Text.Encoding.Default,或则System.Text.Encoding.GetEncoding("GB2312")

            //使用StreamReader类来读取文件

            m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);

            // 从数据流中读取每一行,直到文件的最后一行,并在richTextBox1中显示出内容
            string strLine = m_streamReader.ReadLine();
            while (strLine != null)
            {
                str += strLine + "\n";
                strLine = m_streamReader.ReadLine();
            }
            //关闭此StreamReader对象
            m_streamReader.Close();
            return str;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            MessageBox.Show(getStrByResFileName("OracleToAccess.sqlfnc.txt"));
        }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值