If the Button class doesn't meet your requirements it is surprisingly easy
to write your own control - a class which derives from
System.Windows.Forms.Control. You will need to add your own Paint handler to
draw the controls text and background - although here you are not limited to
simply mimicking a standard Button. You can then setup event handlers for
the MouseUp and MouseDown events separately
CustomControl mycontrol = new CustomControl();
mycontrol.Location = new System.Drawing.Point(0, 0);
mycontrol.Width = 50;
mycontrol.Height = 50;
mycontrol.Text = "Test";
mycontrol.Visible = true;
this.Controls.Add(mycontrol);
mycontrol.MouseDown+=new MouseEventHandler(mycontrol_MouseDown);
mycontrol.MouseUp+=new MouseEventHandler(mycontrol_MouseUp);
In these two methods I then set the code to toggle the form backcolour while
the control was being tapped. Therefore you can setup a timing routine in
your MouseDown event and stop it in your MouseUp. The Quickstarts contain a
sample for creating a custom Button:-
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/picturebutton.aspx
Adding designer support requires some additional work - you may or may not
deem this essential to your project, certainly if you want to re-use the
control it is well worth the effort, Alex has written an article on the
subject here:-
http://www.intelliprog.com/articles/index.html
Peter
--
Peter Foot
Windows Embedded MVP
In The Hand
http://www.inthehand.com