Координаты областей на picturebox для разных событий - C#
Формулировка задачи:
Здравствуйте! Есть PictureBox с рисунком. Нужно, чтобы при кликах на разных местах этого рисунка выполнялись различные действия (открытие разных форм, например). C# изучать начал недавно, Мне посоветовали воспользоваться Canvas, то, что смог найти по нему:
А дальше меня заклинило. Не могу понять, как задать определенные области для разных событий на одном PictureBox. По канвас информамцию гуглил, но 99% написано об XAML. Или может быть не им нужно пользоваться, или он как-то иначе работает на самом деле?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace test_
{
public partial class Form1 : Form
{
Graphics Canvas;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Canvas = this.CreateGraphics();
}
private void pictureBox1_Click(object sender, EventArgs e)
{
Canvas.;
}
}
}Решение задачи: «Координаты областей на picturebox для разных событий»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication2
{
public partial class Form1 : Form
{
Point _mouseLocation;
public Form1()
{
InitializeComponent();
}
private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
_mouseLocation = e.Location;
pictureBox1.Refresh();
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
// Create string to draw.
if (!_mouseLocation.IsEmpty)
{
String drawString = _mouseLocation.ToString();
// Create font and brush.
Font drawFont = new Font("Arial", 16);
SolidBrush drawBrush = new SolidBrush(Color.Black);
// Create point for upper-left corner of drawing.
PointF drawPoint = new PointF(10.0F, 10.0F);
// Draw string to screen.
e.Graphics.DrawString(drawString, drawFont, drawBrush, drawPoint);
}
}
}
}