Как нарисовать прямоугольник в Compact Edtion? - PullRequest
1 голос
/ 26 ноября 2009

Я пытаюсь нарисовать прямоугольник на мобильном телефоне с Windows.

  1. Нарисуйте прямоугольник
  2. Заполните прямоугольник цветом
  3. Нарисуй его на телефон.
  4. Дайте ему обработчик событий, чтобы при нажатии пользователем что-то происходило.

Я не уверен, как выполнить шаги 2, 3 и 4. Я вижу, что существует класс рисования, называемый прямоугольником, но я не знаю, как получить его в форме.

Тогда я не знаю, как я мог бы дать ему обработчик событий. Я планирую динамически создать примерно 12 из них, поэтому мне нужно каким-то образом сказать, на какой из них нажали и какой цвет в нем содержится.

Спасибо

Редактируйте, пока у меня есть это, но я не вижу его в своей форме.

 Graphics surface = this.CreateGraphics();
    Pen pen = new Pen(Color.Black, 1f);
    System.Drawing.Rectangle test = new Rectangle(0, 0, 500, 500);
    surface.DrawRectangle(pen, test);

1 Ответ

2 голосов
/ 26 ноября 2009

Звучит так, будто вы хотите цветную кнопку. Я думаю, что самый простой способ сделать это - унаследовать от Control и переопределить событие Paint.

public class ColoredButton : Control {
    protected override void OnPaint(PaintEventArgs e) {
        Graphics graphics = e.Graphics;
        Pen pen = new Pen(Color.Black, 1f);
        SolidBrush brush = new SolidBrush(Color.Red);

        graphics.FillRectangle(brush, 0, 0, Width, Height);
        graphics.DrawRectangle(pen, 0, 0, Width-1, Height-1);
    }
}

Теперь просто подключитесь к нативному элементу управления Нажмите событие.

Или, если вы хотите более изящные элементы управления, взгляните на эту библиотеку

http://code.msdn.microsoft.com/uiframework

...