Ik ben bezig met een mouseover button in c#. Het is dus de bedoeling dat de bitmap van een button verandert als je er met je muis overheen gaat. Nah et lezen van het een en ander aan artikelen ben ik tot de volgende code gekomen:
In de help van VS.NET staat een soortgelijk voorbeeld waar ik dit op heb geinspireerd. Als je met je muis over de knop gaat moet hij dus een ander gedeelte van het plaatje pakken, maar er gebeurt helemaal niks. Wat doe ik verkeerd?
code:
De bitmap van de button ziet er zo uit: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| protected override void OnMouseHover( EventArgs ea )
{
base.OnMouseHover ( ea );
if ( this.BackgroundImage != null)
{
Bitmap bm = new Bitmap( this.BackgroundImage );
Graphics g = Graphics.FromImage( bm );
g.PageUnit = GraphicsUnit.Pixel;
Size s = new Size( bm.Width/3, bm.Height );
Rectangle rectDest = new Rectangle( this.Location, s);
Rectangle rectSrc = new Rectangle( new Point( s.Width, 0 ), s );
g.DrawImage( bm, rectSrc, rectDest, GraphicsUnit.Pixel );
}
Cursor = Cursors.Hand;
} |

In de help van VS.NET staat een soortgelijk voorbeeld waar ik dit op heb geinspireerd. Als je met je muis over de knop gaat moet hij dus een ander gedeelte van het plaatje pakken, maar er gebeurt helemaal niks. Wat doe ik verkeerd?