Координаты областей на 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); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д