マウスのようにキーボードで動作するボタンを作成したいと思います。私は、このようにそれを実装しています:Windowsフォームでキーボードのクリックをシミュレートする
class FunctionButton : System.Windows.Forms.Button
{
public FunctionButton() : base() { }
protected override void OnGotFocus(EventArgs e)
{
OnMouseEnter(null);
base.OnGotFocus(e);
}
protected override void OnLostFocus(EventArgs e)
{
OnMouseLeave(null);
base.OnLostFocus(e);
}
protected override void OnMouseLeave(EventArgs e)
{
if (!Focused)
{
base.OnMouseLeave(e);
}
}
public void FunctionKeyPressed()
{
OnMouseDown(new MouseEventArgs(MouseButtons.Left,1,0,0,0));
PerformClick();
}
public void FunctionKeyReleased()
{
if (Focused)
{
OnMouseEnter(null);
}
else
{
base.OnMouseLeave(null);
}
}
}
私は私がこれをどのように行うことができます
OnMouseDown(new MouseEventArgs(MouseButtons.Left,1,X,Y,0));
・デ・イベントを生成するには、このボタンの有効なクリック位置を取得する方法がわかりませんか?この種のボタンを実装するより良い方法はありますか?
Highlt http://stackoverflow.com/questions/1299157/simulate-flat-button-mouse-mousedown-and-mouseover – yeyeyerman