不是有专门的组件吗?类似delphi里的Image

解决方案 »

  1.   

    下面的方法不知道行不行,你看看:
    首先,建立一个控制台程序:using System;
    using System.Resources;
    using System.Drawing;namespace Resource
    {
    /// <summary>
    /// 
    /// </summary>
    public class MenuIconResource
    {
    public MenuIconResource()
    {
    // 
    // TODO: 在此处添加构造函数逻辑
    // } public static void Main()
    {
    ResourceWriter rw=new ResourceWriter("MenuIconResources.resources");
    //string [] His={"Weihu","Tuichu","ZYKchu","ZYF","ZYKguan","XYKchu","XYF","XYKguan","ZYhou","ZYhu","ZYshou","YZcha","GYshang"};
    string [] His={"ZYKchu","ZYF","ZYKguan","XYKchu","XYF","XYKguan","Quanxian","Tuichu"}; string [] HisIcon={"1.ico","2.ico","3.ico","4.ico","5.ico","6.ico","7.ico","8.ico"};//,"9.ico","10.ico","11.ico","12.ico","13.ico"};
    for(int i=0;i<His.Length;i++)
    {
      Bitmap ico=(Bitmap)Bitmap.FromFile(HisIcon[i]);
      rw.AddResource(His[i],ico);
    }
    rw.Generate();
    rw.Close();
    }
    }
    }你要把那些.ico(或者另外的图形文件)的文件放到Debug文件夹下
    这样,你就编译得到了MenuIconResources.resources文件
    然后,你重新建立一个解决方案
    把得到的MenuIconResources.resources文件拷贝到解决方案的Debug文件夹下或者在解决方案中添加此文件
    ...
    using System.Resources;
    ...
    定义全局变量:private IResourceReader reader  ;
    构造函数中写:reader = new ResourceReader("MenuIconResources.resources");
    然后根据你要添加某控件或者窗体中的.ico(或者另外的图形文件)
    if ( NameIcon != "" )
    你要添加图片的控件.BackGroundImage = GetIcon(NameIcon);
    自定义函数
    public Bitmap GetIcon(string iconName)
    {
    IDictionaryEnumerator en = reader.GetEnumerator();
    Bitmap icon=null;
    while (en.MoveNext()) 
    {
    if(iconName==en.Key.ToString())
    {
    icon=(Bitmap)en.Value;
    break;
    }
    }
    return icon;
    }
    我是这么用过的,很管用的,自己编辑资源文件,自己来读取自己要的图片,省得到处去找图片,很方便
      

  2.   

    楼主说的是添加资源么?
    解决方案窗口中右击项目,添加项目-添加现有项-单击要加入的图片。
    然后,找到该图片的属性,改为“嵌入式资源”就可以了。
    使用的时候用nameSpace.imageName
      

  3.   

    但是我看的例子里的意思不是这样的。如本地化资源。对于每一个窗体来说都有resource文件。
    比如:有这样一个窗体 a.cs 可能有英文版,那么就有 a_en.resource 如果还有德文版 的话,那么就会有一个a_de.resource文件。在运行程序的时候能根据系统UI来决定如何显示界面。  以前在VB里也有这种资源文件。
    但是我不知.net里是如何添加图片这种资源的。对于文符串能添加。
    例子代码里使用的ResourceManage  这个类业操作的。
    有用过的兄弟UP一下。
      

  4.   

    ResourceWriter rw = new ResourceWriter( "ResImages.resources" );string sImagePathName="aa.bmp";
    Bitmap tmpMap = new Bitmap( sImagePathName );
    rw.AddResource( sKeyName, tmpMap );rw.Generate( );
    rw.Close( );试试再说,看行不行
      

  5.   

    不知各位有没有用过VB6里的资源文件,就是用来本地化的.现在.net里也提供了.但是它的资源文件是针对于每一个窗体来说的.而你也不用调用它.它会根据系统来自动决定显示UI现在我想做的是就是这个,但是我放的是图片,但是我不知如何把图片放到资源文件里,只能放字符串等
      

  6.   

    楼主说的是添加资源么?
    解决方案窗口中右击项目,添加项目-添加现有项-单击要加入的图片。
    然后,找到该图片的属性,改为“嵌入式资源”就可以了。
    使用的时候用nameSpace.imageName
    this.pictureBox1.Image=Bitmap.FromStream( Assembly.GetExecutingAssembly().GetManifestResourceStream("WindowsApplication28.Bitmap1.bmp") ) as Bitmap;