none
C#使用资源文件 RRS feed

  • 问题

  • 创建了一个项目,在资源文件中放入了图片和鼠标(.cur)文件,图片我能正常使用,但是图标文件我不能使用,
    请问该如果编写代码能使用资源文件中的鼠标文件。
    2010年11月10日 5:10

答案

  • 你好

    你需要实例化Cursor获得你自己的Cursor,如果依旧不能正常显示 那么估计就是你的鼠标文件是.cur格式的吗? 如果不是用相应工具转换下


    实例方法参考:

    http://msdn.microsoft.com/zh-cn/library/7x58z7ya%28v=VS.80%29.aspx

    Cursor.Current = new
     Cursor("MyWait.cur"
    );

    //你这里可以直接修改为资源文件流来实例化
    private void SetCursor()
    {
    // Display an OpenFileDialog so the user can select a cursor.
    OpenFileDialog openFileDialog1 = new OpenFileDialog();
    openFileDialog1.Filter = "Cursor Files|*.cur" ;
    openFileDialog1.Title = "Select a Cursor File" ;
    openFileDialog1.ShowDialog();

    // If a .cur file was selected, open it.
    if (openFileDialog1.FileName != "" )
    {
    // Assign the cursor in the stream to the form's Cursor property.
    this .Cursor = new Cursor(openFileDialog1.OpenFile());
    }
    }


    Raymond Tang (Microsoft C# MVP)
    Denn Ich Gehoer nur mir
    .NET交流群71840452
    微软中文论坛同城社区成都QQ群:74268428
    My Chinese Blog
    Chengdu,Sichuan Province,China
    2010年11月10日 7:10
    版主

  • Raymond Tang,

    你好,我现在是吧.cur文件放在资源文件中,然后动态的从资源文件中读取这个鼠标文件,不知道怎么实现

    你好 直接用过ResourceManager的GetStream获得你的这个cur文件的Stream 然后再按照我上面的方法实例化就okay了

    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WindowsFormsApplication.Resource1", typeof(Resource1).Assembly);<br/>
              Stream curStream = temp.GetStream("my.cur");<br/>
              Cursor c = new Cursor(curStream);
    

    Raymond Tang (Microsoft C# MVP)
    Denn Ich Gehoer nur mir
    .NET交流群71840452
    微软中文论坛同城社区成都QQ群:74268428
    My Chinese Blog
    Chengdu,Sichuan Province,China
    2010年11月10日 7:58
    版主

全部回复

  • 你好

    你需要实例化Cursor获得你自己的Cursor,如果依旧不能正常显示 那么估计就是你的鼠标文件是.cur格式的吗? 如果不是用相应工具转换下


    实例方法参考:

    http://msdn.microsoft.com/zh-cn/library/7x58z7ya%28v=VS.80%29.aspx

    Cursor.Current = new
     Cursor("MyWait.cur"
    );

    //你这里可以直接修改为资源文件流来实例化
    private void SetCursor()
    {
    // Display an OpenFileDialog so the user can select a cursor.
    OpenFileDialog openFileDialog1 = new OpenFileDialog();
    openFileDialog1.Filter = "Cursor Files|*.cur" ;
    openFileDialog1.Title = "Select a Cursor File" ;
    openFileDialog1.ShowDialog();

    // If a .cur file was selected, open it.
    if (openFileDialog1.FileName != "" )
    {
    // Assign the cursor in the stream to the form's Cursor property.
    this .Cursor = new Cursor(openFileDialog1.OpenFile());
    }
    }


    Raymond Tang (Microsoft C# MVP)
    Denn Ich Gehoer nur mir
    .NET交流群71840452
    微软中文论坛同城社区成都QQ群:74268428
    My Chinese Blog
    Chengdu,Sichuan Province,China
    2010年11月10日 7:10
    版主
  • Raymond Tang,

    你好,我现在是吧.cur文件放在资源文件中,然后动态的从资源文件中读取这个鼠标文件,不知道怎么实现

    2010年11月10日 7:35

  • Raymond Tang,

    你好,我现在是吧.cur文件放在资源文件中,然后动态的从资源文件中读取这个鼠标文件,不知道怎么实现

    你好 直接用过ResourceManager的GetStream获得你的这个cur文件的Stream 然后再按照我上面的方法实例化就okay了

    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WindowsFormsApplication.Resource1", typeof(Resource1).Assembly);<br/>
              Stream curStream = temp.GetStream("my.cur");<br/>
              Cursor c = new Cursor(curStream);
    

    Raymond Tang (Microsoft C# MVP)
    Denn Ich Gehoer nur mir
    .NET交流群71840452
    微软中文论坛同城社区成都QQ群:74268428
    My Chinese Blog
    Chengdu,Sichuan Province,China
    2010年11月10日 7:58
    版主
  • 这个不行啊。我试了,运行时提示说这个不是流。
    2012年4月11日 3:43