0

FlatStyle.Flatボタンの境界線を変更する方法 (ペイント方法)があるかどうか疑問に思っていました。Flat次のように、ボタンの境界線を丸みを帯びたように変更したい:

ここに画像の説明を入力

各コーナーのピクセルがどのように削除されたかに似button2た境界線が必要です。button1これを行う方法やどこから始めればよいかわかりません。誰かが私を助けたり、正しい方向に向けたりできる場合は、ここに投稿してください。ありがとう!

4

2 に答える 2

1

そのボタンの境界線として丸みを帯びたエッジを持つGraphicsPathを使用してみてください。ただし、自分で描画する必要があります.WinFormsにはWPFのBorderコントロールがありません.

于 2012-09-15T11:02:25.243 に答える
1

次のような dll をインポートします。

public partial class Form1 : Form
{
    [DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
    private static extern IntPtr CreateRoundRectRgn
    (
    int nLeftRect, // x-coordinate of upper-left corner
    int nTopRect, // y-coordinate of upper-left corner
    int nRightRect, // x-coordinate of lower-right corner
    int nBottomRect, // y-coordinate of lower-right corner
    int nWidthEllipse, // height of ellipse
    int nHeightEllipse // width of ellipse
    );

    public Form1()
    { etc.....................

次に、ボタンのペイント イベントに次を追加します。

button1.Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, button1.Width, button1.Height, 7, 7));

「セブン」を好きな半径に変更できます。

于 2013-02-21T13:51:52.510 に答える