resx资源文件嵌入资源|WINFORM 如何利用代码动态把资源加入到resourcesresx

|

1. aspx \resx是什么文件

资源文件,可以在里面嵌入静态资源,比如文本,图象等,生成应用程序或者DLL时,会附加生成到相应的文件里去,比如应用程序图标。你看到有一张表格,那个字符串资源列表,一个根据名称和值来索引的列表。是资源文件,用VS开发时自动维护的,资源文件就是在一个应用程序有多语言版本时提供支持的aspx 是asp.net的页面文件aspx.cs 是程序代码文件aspx.resx 是资源文件asp.net提倡页面与代码分离, 把页面(也就是HTML方面的)放在aspx中, 程序代码专门放在aspx.cs里, .cs指的是c#代码.

2. C#中的Form1.resx(资源文件)里面存放了*.wav的音频文件,怎么读取和播放

visual studio 2010环境下在C#程序中嵌入、播放 wav音频文件 图文介绍分类: C#2012-08-24 09:25 511人阅读 评论(1) 收藏 举报声音资源文件可以放在外部调用播放,另一种方法是直接嵌入到程序里面再调用播放。想在制作的小工具程序中加入声音,而且希望整个程序就只是一个可执行文件,可采用第二种方法。 1、嵌入wav音频文件 新建一个windows窗体应用程序,在解决方案资源管理器中选中需要加入wav声音的项目,选择该项目下的【properties】文件夹中的“recourse.rexs”, 双击打开,出现下图所示画面:然后点击【添加资源】旁边的倒三角符号,选择【添加现有文件】,找到想要添加的music.wav声音文件添加进去,然后发现右边的解决方案资源管理器项目中的【resource】文件夹,里面增加了一个文件music.wav。我们在左边的resource.resx页,选中音乐文件music.wav,右下角会出现music.wav文件的属性框,如下图所示把【在编译时链接】那一项选择为【嵌入在.resx】。就完成了wav音频资源文件的嵌入。2、播放wav音频文件 使用SoundPlayer类来实现在程序开头引用库:using System.Media;然后在你想要播放音乐的地方加入代码:SoundPlayer sp = newSoundPlayer(WindowsFormsApplication1(项目名).Properties.Resources.music);sp.Play();然后调试运行试试看,是否发出你想要的声音了? 当然,你会发现生成的exe文件大了些,因为声音资源已经嵌入到程序里面了。

3. C# 资源文件Resx如何添加内容

Form.Designer.cs是VS自动生成用作UI的绘制以及事件绑定的,一般自己不去修改 Form.resx可以用来存储资源,比如窗体上的字符串、图片等

4. resx是什么文件,有什么作用

一般都是自动生成的,不用管它,resx 文件,属于资源文件 ,由 XML 组成,可以加入任何资源,包括二进制。同样不能被嵌入到 Assembly 中。在 System.Resources 名字空间中有专用读写的类。VS. NET 创建这种文件然后将其转成 .resources 文件并根据设置将其嵌入到 Assembly 中。

5. 如何将资源文件正确嵌入或链接到程序集

第一次使用资源文件,难免问题多多。我的情况是:我的程序窗口基类位于程序集A中,在基类中使用了图片资源System.Resources.ResourceManager rm =new System.Resources.ResourceManager("命名空间.资源文件名",System.Reflection.Assembly.GetExecutingAssembly());_changeColorBox.Image = (Image)rm.GetObject("图片资源名");这不,来了这个错误:System.Resources.: 未能找到任何适合于指定的区域或非特定区域性的资源。请确保在编译时已将“****.****.Resource.resources”正确嵌入或链接到程序集"****",或者确保所有需要的附属程序集都可加载并已进行了完全签名。 怎么解决呢?问题是找不到资源,需要正确地将资源文件嵌入或链接到程序集,怎么做?在命令行您需要选择:/res:资源文件名.resources;在VS.NET中,您同样需要做类似的工作:Project->Add Existing Item->All files->资源文件名.resources,这样,您的资源文件名.resources就以Embeded Resource形式被嵌入到程序中,在运行时才不会出错。

6. .resx是什么文件 有什么用 怎么用

.resx文件,属于资源文件,由XML组成,可以加入任何资源,包括二进制。同样不能被嵌入到Assembly中。在System.Resources名字空间中有专用读写的类。VS.NET创建这种文件然后将其转成.resources文件并根据设置将其嵌入到Assembly中。一般都是自动生成的,不用管它

7. resx 资源文件 如何使用

博客园 官网 搜索 关键字 资源源文件 使用———————————-.Net是一个丰富的平台,在它的结构中,程序集Assembly是自我描述的安装单元,它可以只包括一个PE(可移植可执行)格式的Dll或exe文件,也可以由多个文件组成,例如资源、Dll和exe等。 其中,资源是的范围很广,它可由多种元素组成,包括与用户交互的界面元素(如位图、图标或光标)、应用程序所需数据的自定义文件以及安装 API 使用的版本文件、菜单和对话框等都可以作为资源。为.Net程序集添加资源,就可实现资源重用等功能。使用Visual Studio.Net集成开发环境IDE很容易创建资源文件,把资源添加到工程中的方法和添加窗体、类库一样简单,只是你需要设置资源的“BuildAction”属性为“Embedded Resource”,这样你就可以使用这些资源创建资源字符串表是极常见的一种资源。要创建这类资源文件,有以下两种方式:(1)使用.Net命令行工具ResGen创建。首先创建包含资源内容的文本文件,可使用(记事本、EditPlus等文本编辑器)。该文本文件由所需要的“键值对”组成,键的名称可以在程序中引用,设置键名后把字符串值赋予该键即可完成文件的创建。作为示例,以下语句段产生这样的资源,按下面的格式保存为userinfo.txt文件:Username="Songh";Sex="Boy";Birthday="1973-01-15";Salary="5000RMB";然后,把文本文件转换为资源文件,这仍然通过ResGen工具来实现。执行以下语句:ResGen userinfo.txt,就将生成资源文件userinfo.resources。另外,ResGen还可以创建基于XML格式的.resX资源文件,执行以下命令ResGen userinfo.resources userinfo.resx 就将生成Xml格式的资源userinfo.resx。不过,ResGen工具不支持图象资源的操作,下面的方法就不具有这样的限制。(2)使用ResourceWriter类。 为易于创建资源文件,.Net结构提供了ResourceWriter类以支持图象等各种资源类型的创建。ResourceWriter类包含的方法能以系统默认的格式将资源写入输出文件或输出流。与方法1)不同的是,这里统一在一个过程中完成。要创建一个资源文件,请调用ResourceWriter类的构造函数初始化类实例并至少提供流名或文件名。资源的实际内容通过调用AddResource方法来完成,AddResource方法将资源指定为名称和值对。资源的实际写入需要调用Generate方法来实现,不过,在调用Close方法关闭该ResourceWriter时将隐式调用Generate方法。ResourceWriter.AddResource()方法向要写入资源的列表中添加资源。在创建ResourceWriter类实例后,该方法可以添加至多2GB的资源,下面的重载方法之一用于向资源列表中添加string资源:publicvoid AddResource( string name,//键名 string value//值 ); 在这里,AddResource方法的第一个参数指定键名称,第二个参数指定值。多次调用该方法就可以完成字符串表的创建。另外,添加图象资源可以通过实例化类Image来实现(这时,请添加System.Drawing名称空间)。下面的代码段生成包含字符串表和图象的资源文件userinfo.resources。View Code 1using System; 2 3using System.Resources; 4 5using System.Drawing; 6 7publicclass RS 8 9 { 1011publicstaticvoid Main() 1213 { 1415 ResourceWriter rw=new1617 ResourceWriter("userinfo.resources");//提供文件名以初始化ResourceWriter类实例。 1819 Image image=Image.FromFile("photo.gif");//实例化Image类 2021 rw.AddResource("Photo",image);//添加图象 2223 rw.AddResource("Username","songh");//添加字符串 2425 rw.AddResource("Sex","boy");//添加字符串 2627 rw.AddResource("Birthday","1973-01-15");//添加字符串 2829 rw.AddResource("Salary","5000RMB");//添加字符串 3031 rw.Close();//关闭ResourceWriter并隐式调用Generate()方法完成资源文件写入磁盘文件。 3233 } 3435 } 上面的代码首先打开图形文件photo.gif,创建一个Image对象。这样做时,这个图形文件必须存在于工程可执行文件的目录(通常是项目的\Bin\Debug目录)下,或者在Image.FromFile()的方法参数中指定图象的完整路径。然后,通过几次调用AddResouce()方法把字符串资源添加到ResourceWriter对象中。最后,调用Close()方法关闭ResourceWriter对象并隐式调用Generate()方法把资源写入文件userinfo.resources。编译以上代码并运行就将创建资源文件userinfo.resources。以上两种方式生成的资源文件均可以作为一个外部文件添加到程序集中,或者内嵌到Dll或exe中。下面继续说明如何在Windows应用程序使用资源文件。使用资源文件使用Visual Studio.Net集成开发环境IDE,可以把很容易把资源文件添加到程序集中。只需要在创建的工程中添加已经存在的资源文件,简单设置其属性就可将资源文件嵌入该程序集。下面通过一个C# Windows控制台实例来说明任何使用上面创建的userinfo.resources资源文件。首先,创建C# Windows Console项目ResourceUserinfo,打开"项目\添加现有项",找到前面创建的资源文件Userinfo.resources添加到这个工程中;然后,选择这个资源文件,将属性BuildAction(生成操作)设置为Embedded Resource(嵌入的资源),这样,资源文件就可以嵌入到输出的程序集中。现在,你可以使用这个资源文件了。System.Resources名称空间中的ResourceManager类提供在运行时方便地访问特定资源的途径。具体地可以通过GetObject和GetString方法来实现,以键名为参数就将返回对应的值。ResourceManager类的构造函数初始化ResourceManager类的新实例,其重载方法之一查找包含在一些文件中的资源,这些文件是使用给定的 Assembly 从指定根名称导出的。1public ResourceManager( 2 3string baseName, 4 5 Assembly assembly 6 7 ) 其中,参数baseName表示资源的根名称。根名称由应用程序名称空间和资源文件名(不带扩展名)组成。这样,该例中资源的根名称应该是:UserinfoResource.Userinfo,通过调用GetManifestResourceNames()方法也可编程获取该名称。另一个参数assembly表示的是当前的主程序集,本例中的主程序集其实也是正在执行的程序集。获取正在执行程序集的一个简单方法是调用Assembly.GetExecutingAssembly()方法。在获取ResourceManager实例后,通过指定键名,就可以获得对应的资源。下表是程序中使用的部分控件:类别 TextBox TextBox TextBox TextBox PictureBox名称 username sex birthday salary photo这些控件均可直接从工具箱拖放到设计器中。完整的源代码为:方法一:using System.reflection; using System.Resources; private System.Resources.ResourceManager rm; public Form1() { InitializeComponent(); Assembly assembly=Assembly.GetExecutingAssembly();//获取当前主程序集 Rm=new ResourceManager("ResourceUserinfo.Userinfo",assembly);//实例化资源管理类 photo.iamge=(Image)rm.GetObjetct("Photo"); username.Text=rm.GetString("Username"); sex.Text=rm.GetString("Sex"); birthday.Text=rm.GetString("Birthday"); salary.Text=rm.GetString("Salary"); } 方法二: 1 Assembly assm = this.GetType().Assembly;//Assembly.LoadFrom(程序集路径); 2foreach (string resName in assm.GetManifestResourceNames()) 3 { 4 Stream stream = assm.GetManifestResourceStream(resName); 5 ResourceReader rr = new ResourceReader(stream); 6 IDictionaryEnumerator enumerator = rr.GetEnumerator(); 7while (enumerator.MoveNext()) 8 { 9 DictionaryEntry de = (DictionaryEntry)enumerator.Current;10//de.Key是资源名11//de.Value是资源内容12 }13 }运行以上代码,便可取出资源文件内容。

8. WINFORM 如何利用代码动态把资源加入到resources.resx

ResourceWriter rw = new ResourceWriter("Faces.resources"); Image newFace = Image.FromFile(@path); rw.AddResource("NewFace1", newFace); rw.Generate(); rw.Close();*/ /*将资源包里的资源取出放到预览框里 ResourceManager rm=new ResourceManager ("Faces",this.GetType().Assembly); Image image=(Image)rm.GetObject("NewFace1"); picView.Image = image;*/

9. .resx是什么文件 有什么用 怎么用

.resx 文件,属于资源文件 ,由 XML 组成,可以加入任何资源,包括二进制。同样不能被嵌入到 Assembly 中。在 System.Resources 名字空间中有专用读写的类。VS. NET 创建这种文件然后将其转成 .resources 文件并根据设置将其嵌入到 Assembly 中。一般都是自动生成的,不用管它


赞 (0)