2010-11-18 13 views
1

私は現在、「大きな」WinForms-Project用の少しヘルパーアプリケーションを書いています。この小さなアプリケーションでは、私はそれにいくつかのボタンでUserControlを表示しています。現在、標準テキストとボタンのマージンがあります。ButtonTextのマージン/パディングを変更する

私は何を意味するのボタンは次のように見えること、である:

~~~~~~~~~~~~~
〜                                           ~〜
~~~~~~~~~~~~~

ButtonText    〜
〜                                           

しかし、私はそれが欲しいButtonTextはボタンバスにほとんど「触れる」。言い換えれば:ButtonTextとButtonboundsの間の標準的なスペースは、私のニーズには大きすぎます。この動作を変更することは可能ですか?あなたがドッキングボタンが含まれているUserControlを作成することができ、これを達成するために

答えて

1

ボタンのペイントイベントをオーバーライドし、通常の文字列描画と一緒にControlPaint.DrawButton(...)を使用して、ボタンレイアウトを必要に応じて制御できます。ボタンを正しい状態(押された、熱い、など)にするために、MoseDown、MouseUpなどをフックする必要があります。

+0

私は少なくとも私のために働いていましたが、私はあなたがボタンに多くの "スペース"を獲得していないことを認識しました。それは残念だ... – basti

0

、ときに自動サイズ、それがボタンよりも小さいサイズとなるよう、そして、あなたは、通常必要とので、ボタンを強制的になり、あなたのUserControlの動作をオーバーライドすることができますテキストをエッジの近くに置く。ただし、すべてのDPIの設定でテキストが表示されるようにするには、試行錯誤を使用する必要があります。

代わりにToolStripButtonsを使用して、適切なレンダラーで通常のボタンのように見えるようにすることもできます。これらはしばしばサイズが小さくなり、カスタマイズの量に応じて、ボタン内のテキストのパディングと余白をより詳細に制御する必要があります。

関連する問題