好多小图标都是放在一张图片上没有打散的。 比如像关闭按钮,不同状态(mouseout,mouseover,mousedown)下的按钮是在一张图上的。
用pictureBox 怎么能显示整张图上的指定区域呢? 

解决方案 »

  1.   

    你是要给按钮家图片是吧,,toolScript控件可以给按钮加图片,,
      

  2.   

    首先我建议你不要这么做,那是跟自己在找麻烦。网页设计那是一回事,是为了降低网页向服务器的请求数。
    winform的你全是本地资源,这么折腾增加了编程难度却一点好处都没有。
      

  3.   

    设置一个new Bitmap A,颜色为pictureBox的背景色,把你要显示的图像区域在原图上Clone一下,在A上绘制,然后PictureBox显示A就OK了。
      

  4.   

    2楼3楼说的不是我要的,看看别人的客户端安装包下面,一类的图片都是连在一起的,这样也有利于换皮肤。4楼说的不是很懂哦,我看pictureBox有个padding属性,但变态的是不能输入负数,这就不行了。
      

  5.   

    貌似没有现成的,你得自己处理,用GDI来绘制图片在控件上的显示部分,通常可以在Paint事件里完成。不过这样挺麻烦的,其实也可这样,在程序运行时,把大图先切割成一个个的小图,然后直接赋值给控件的Image属性。具体方法参考System.Drawing命名空间。
      

  6.   

    Paint 在Paint事件里绘图会产生死循环,貌似会反复触发paint事件,我把代码放到layout事件里面就可以
      

  7.   

    从来没有碰到过Paint事件的死循环,难道你在Paint事件的处理程序里又进行了Invalidate()?
      

  8.   

    load 到 bitmap对象,
    然后剪辑你需要的范围
    然后在控件里显示