Практическое руководство. Создание непрямоугольной кнопки

Обновлен: Ноябрь 2007

В этом примере показано создание кнопки, форма которой отличается от стандартной прямоугольной. Код добавляет в форму круглую кнопку и создает обработчик событий, который выводит сообщение после щелчка мышью по кругу.

Пример

public Form2()
{
    //
    // Required for Windows Form Designer support.
    //
    InitializeComponent();
    // Initialize the user-defined button,
    // including defining handler for Click message,
    // location and size.
    myButtonObject myButton = new myButtonObject();
    EventHandler myHandler = new EventHandler(myButton_Click);
    myButton.Click += myHandler;
    myButton.Location = new System.Drawing.Point(20, 20);
    myButton.Size = new System.Drawing.Size(101, 101);
    this.Controls.Add(myButton);
}
public class myButtonObject : UserControl
{
    // Draw the new button.
    protected override void OnPaint(PaintEventArgs e)
    {
        Graphics graphics = e.Graphics;
        Pen myPen = new Pen(Color.Black);
        // Draw the button in the form of a circle
        graphics.DrawEllipse(myPen, 0, 0, 100, 100);
        myPen.Dispose();
    }
}
// Handler for the click message.
void myButton_Click(Object sender, System.EventArgs e)
{
    MessageBox.Show("Click");
}

Компиляция кода

В данном примере требуется проект приложения Windows Forms, содержащий форму с именем "Form2".

См. также

Основные понятия

Создание пользовательского интерфейса в Visual C#

Другие ресурсы

Элементы управления "Button"

Интерактивный учебник по Visual C#