変わった形のボタンを作る

枠がない丸いボタンが欲しくなった。ツールバー上のボタンのような動作をして欲しい。
だんだんマニアックな領域に深入りしていることには気づいているけど、楽しい。
それでいて面倒なことはやっぱりしたくない。フレームワークを調べると、コントロールを新しく作ったり、動作を変更したりするのに、いろいろなサポートが提供されている。
例えば、IButtonControlなんてインターフェイスも見つけた。よくできているなぁ。VBPowerPackのImageButtonはControlから派生して、IButtonControlインターフェイスに合わせて、がりがり書いている。デザイナ向けにもしっかり何やら書いてある。気合が入ってるな〜。

で、本題。ボタンの形や動作変更は、宇宙仮面さんのところを見ると詳しい作り方が書いてある。

http://ukamen.hp.infoseek.co.jp/Programming1/StarButton/index.htm

欲しかった丸いボタンは、Regionを変えるだけでできた。
サイズを元に中心に円を描くパスを作って、それをリージョンに設定した。
あとは、OnSizeChangedでサイズに応じて変更するようにして、できあがり。
コメント含めても50行弱。お手軽だ〜。

ドボンさんのところもメモ。

フォームやコントロールの形を変える - .NET Tips (VB.NET,C#...)

ちょっとしたことが、ちょっとしたコードだけでできるってのは気持ちいい!