其实这个问题本身没有错,但在我修改的时候,发现不是能很好的实现换肤。另外,在VB中有一个很成功换肤的例子,好像没有用到无标题窗口,而是直接调用相关API就实现了,我在C#化的时候没有完成,有这方面的例子吗?

解决方案 »

  1.   

    这样的换肤不能根本解决问题!
    如果我要把FORM弄成MDI呢?
      

  2.   

    我的问题解决了,你的问题
    TITLE_WIDTH 其实应该是TITLE_HEIGHT,他在后面的鼠标事件用于判断鼠标点击范围是否在标题栏中。
    他可以等于 top_middleactive.height至于 Middle_Left.Width,Bottom_Middle 请注意大小写。c#要识别大小写。
      

  3.   

    huweighost(樵子) :
    我已经注意了大小写,可是还是提示:是否缺少 using 指令或程序集引用?
    你可以把你所重写的程序代码给我看看吗?(包括创建资源文件部分)
    感激不尽
    谢谢
      

  4.   

    看到你的工程了,有两个问题你要注意。1,产生资源文件的时候,bmp一定要在你生成exe目录下(这样才是那个exe文件的当前目录)
    >> Image bottom_left = Image.FromFile ("bottom_left.bmp") ;
    这里是从这个exe目录下的buttom_left.bmp来产生一个image对象。2,用的时候,要对于,注意大小写是有区别的。
    比如产生资源用这两句话
    Image bottomleft = Image.FromFile ("bottomleft.bmp") ;
    rw.AddResource ( "bottomleft" , bottomleft ) ;
    读的时候就要这样
    Image Bottom_Left = (Image)rm.GetObject("bottomleft");
    //上面这句话的bottomleft是于AddResource来对应的 "bottomleft"。
    如果大小写不一样,也会读不到。
      

  5.   

    我去试了一下,当他们(Bottom_Left ,Middle_Left,TITLE_WIDTH,Bottom_Middle)
    处于同一个类的时候才没有报错:(
    怎么样声明才能把他们的作用范围订在这个窗体呢。
    再次感谢班老大
      

  6.   

    >>怎么样声明才能把他们的作用范围订在这个窗体呢。
    不可以。如果你要对资源进行类似分目录的管理,参考这篇文章。
    http://www.csdn.net/develop/read_article.asp?id=15571