FlatStyle.Flat
ボタンの境界線を変更する方法 (ペイント方法)があるかどうか疑問に思っていました。Flat
次のように、ボタンの境界線を丸みを帯びたように変更したい:
各コーナーのピクセルがどのように削除されたかに似button2
た境界線が必要です。button1
これを行う方法やどこから始めればよいかわかりません。誰かが私を助けたり、正しい方向に向けたりできる場合は、ここに投稿してください。ありがとう!
そのボタンの境界線として丸みを帯びたエッジを持つGraphicsPathを使用してみてください。ただし、自分で描画する必要があります.WinFormsにはWPFのBorderコントロールがありません.
次のような 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));
「セブン」を好きな半径に変更できます。