首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个Button式样的实现

2012-12-30 
一个Button样式的实现想要实现一个Buttonr动画效果,有一张有五个状态的PNG图,初始的时候是PNG中前20个象素

一个Button样式的实现
想要实现一个Buttonr动画效果,
有一张有五个状态的PNG图,
初始的时候是PNG中前20个象素
mouse over的时候,更改为第二个20个象素的图片
这个怎么实现啊~~google了好久~~~在线等~~
[解决办法]
你可以设置几个属性,比如
defautlimage,mouseoverimage,mousedownimage...

当你有鼠标动作时,比如OnMouseOver时,写代码button1.BackgroundImage = mouseoverimage
[解决办法]

public class ImagePixel
    {

        public ImagePixel(Image DefaultImage, Rectangle Normal, Rectangle Move, Rectangle Drop, PictureBox pbContainer)
        {
            Image NormalImage;
            Image MoveImage;
            Image DropImage;

            Bitmap map = new Bitmap(DefaultImage);
            NormalImage = map.Clone(Normal, System.Drawing.Imaging.PixelFormat.Format64bppPArgb);
            MoveImage = map.Clone(Move, System.Drawing.Imaging.PixelFormat.Format64bppPArgb);
            DropImage = map.Clone(Drop, System.Drawing.Imaging.PixelFormat.Format64bppPArgb);
            pbContainer.Image = NormalImage;

            pbContainer.MouseMove += delegate
            {
                pbContainer.Image = MoveImage;
            };
            pbContainer.MouseLeave += delegate
            {
                pbContainer.Image = NormalImage;
            };
            pbContainer.MouseDown += delegate
            {
                pbContainer.Image = DropImage;
            };

        }


    }


那方法的几个Rectangle类型的参数就是读取图片的的区域,如:
 ImagePixel ip_1 = new ImagePixel(TempApp.Properties.Resources.SetBtn, new Rectangle(0, 0, 33, 19), new Rectangle(33, 0, 33, 19), new Rectangle(66, 0, 33, 19), pb_1);

热点排行