Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Интернет -

C# - Графика

Все примеры / Мультимедиа / Графика

Рисование

Автор: Интернет | добавлено: 10.01.2011, 19:19 | просмотров: 6930 (1+) | комментариев: 1 | рейтинг: *x7
Простой пример, демонстрирует возможность рисования мышкой на форме. Также в примере используется контекстное меню, в котором можно выбирать цвет пера.

Код

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

public class frmScribble : System.Windows.Forms.Form
{
 private System.ComponentModel.Container components = null;
 private bool mouseDown = false;
 private Point lastPoint = Point.Empty;
 private string color = "black";
 private Graphics g;
 private Pen p;

 public frmScribble()
 {
  g = CreateGraphics();
  p = new Pen(Color.FromName(color));

 }
 protected override void OnMouseDown(MouseEventArgs e)
 {
  mouseDown = true;
  if (e.Button == MouseButtons.Right)
  {
   ContextMenu m = new ContextMenu();
   m.MenuItems.Add(0, new MenuItem("black", new EventHandler(RightMouseButton_Click)));
   m.MenuItems.Add(1, new MenuItem("white", new EventHandler(RightMouseButton_Click)));
   m.MenuItems.Add(2, new MenuItem("red", new EventHandler(RightMouseButton_Click)));
   m.MenuItems.Add(3, new MenuItem("green", new EventHandler(RightMouseButton_Click)));
   m.MenuItems.Add(4, new MenuItem("blue", new EventHandler(RightMouseButton_Click)));
   m.Show(this, new Point(e.X, e.Y));
  }
 }

 protected void RightMouseButton_Click(object sender, EventArgs e)
 {
  color = ((MenuItem)sender).Text;
  p = new Pen(Color.FromName(color));
 }

 protected override void OnMouseUp(MouseEventArgs e)
 {
  mouseDown = false;
 }

 protected override void OnMouseMove(MouseEventArgs e)
 {
  if (lastPoint.Equals(Point.Empty)) lastPoint = new Point(e.X, e.Y);
  if (mouseDown)
  {
   Point pMousePos = new Point(e.X, e.Y);
   g.DrawLine(p, pMousePos, lastPoint);
  }
  lastPoint = new Point(e.X, e.Y);
 }

 [STAThread]
 static void Main()
 {
  Application.Run(new frmScribble());
 }
}
Файлы Scribble with Mouse.zip (30,26 Кб)
Об авторе

Интернет

Анонимный пользователь сети Интернет. Автор великого множества кодов и программных решений. Никого никогда не видел в лицо этого пользователя, ходят слухи, что он многоликий, и может одновременно находиться в разных частях света.
Интернет
Последние комментарии (всего: 1)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.

Подскажите пожалуйста, а по какой лицензии распространяется программа?
Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Реклама
Счетчики