Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 4

синхронизация координат мышки и пикчюрбокса..

14.04.2010, 10:53. Показов 1834. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите,в чем здесь ошибка?мне нужно создать активную зону(нарисовать ректангл),кликнув на которую можно вызвать обработчик событий для создания нового объекта класса Store_Form и вывода его на экран.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void map_Load(object sender, EventArgs e)
        {
            pictureBox1.Image = new Bitmap(100,100); 
            Graphics gr = Graphics.FromImage(pictureBox1.Image);
            gr.DrawRectangle(Pens.Black, 0, 0, 99, 99);
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            int X_MAX = 150;
            int Y_MAX = 150;
            int X_MIN = 100;
            int Y_MIN = 100;
            if (((MousePosition.X < X_MAX + pictureBox1.Location.X) & (MousePosition.X > X_MIN + pictureBox1.Location.X)) & ((MousePosition.Y < Y_MAX) & (MousePosition.Y + pictureBox1.Location.Y > Y_MIN + pictureBox1.Location.Y)))
            {
                Store_Form PICTURE = new Store_Form();
                PICTURE.Show();
            }
        }
Добавлено через 16 часов 12 минут
Исправил парку ошибок.всё равно не работает..
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    public partial class map_form : Form
    {
        public map_form()
        {
            InitializeComponent();
        }
 
        private void map_Load(object sender, EventArgs e)
        {
            pictureBox1.Image = new Bitmap(500,500); 
            Graphics gr = Graphics.FromImage(pictureBox1.Image);
            gr.DrawRectangle(Pens.Black, 100, 100, 150, 150);
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            int X_MAX = 150;
            int Y_MAX = 150;
            int X_MIN = 100;
            int Y_MIN = 100;
            Point rec_location_min = new Point(this.Location.X + pictureBox1.Location.X + X_MIN, this.Location.Y + pictureBox1.Location.Y + Y_MIN);
            Point rec_location_max = new Point(this.Location.X + pictureBox1.Location.X + X_MAX, this.Location.Y + pictureBox1.Location.Y + Y_MAX);
            if (((MousePosition.X < rec_location_max.X) & (MousePosition.X > rec_location_min.X)) & ((MousePosition.Y < rec_location_max.Y) & (MousePosition.Y > rec_location_min.Y))) 
            {
                Store_Form PICTURE = new Store_Form();
                PICTURE.Show();
            }
        }
       
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.04.2010, 10:53
Ответы с готовыми решениями:

Считывание координат (x;y) курсора мышки
Всем доброго время препровождения Есть необходимость считать ось &quot;y&quot; курсора По алгоритму типа: Если зажата СКМ и значение оси...

SFML. Получение координат мышки
Здравствуйте уважаемые посетители форума. Так уж получилось, что пишу небольшую игру с использованием SFML. Если есть люди знакомые с...

Запись координат клика мышки и время
При нажатии левой кнопкой мыши внутри окна в текстовый файл записывается текущее время и координаты курсора мыши. Вопрос как записать...

3
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
14.04.2010, 10:57
Цитата Сообщение от Аль Азиф Посмотреть сообщение
(MousePosition.X < X_MAX + pictureBox1.Location.X) & (MousePosition.X > X_MIN + pictureBox1.Location.X)
для чего вам этот оператор & если вам нужно логическое и то надо писать &&
C#
1
(MousePosition.X < X_MAX + pictureBox1.Location.X) && (MousePosition.X > X_MIN + pictureBox1.Location.X)
0
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
14.04.2010, 14:30
если я правильно понял о чем речь...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public partial class Form1 : Form
{
    Rectangle rectImage;
 
    public Form1()
    {
        InitializeComponent();
        rectImage = new Rectangle(25, 25, 50, 50);
 
        pictureBox1.Image = new Bitmap(500, 500);
        Graphics gr = Graphics.FromImage(pictureBox1.Image);
        gr.DrawRectangle(Pens.Black, rectImage);
 
    }
 
    private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
    {
        if (rectImage.Contains(e.Location))
        {
            //был клик в той самой области
            MessageBox.Show("fff");
        }
    }
}
0
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 4
14.04.2010, 20:50  [ТС]
м0нах,спасибо за совет,но вот штука вылазиет где строчка
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Cli ck);

Error 1 No overload for 'pictureBox1_Click' matches delegate 'System.EventHandler'



вы не могли бы сказать или дать ссылку на то,что это значит и как формируются события в языке Си шарп?что за чем?Я думал,что события - набор :делегат и метод,который его вызывает при определенном условии.в Книге Герберта Шилдта так написано.но похоже всё сложнее.гораздо сложнее..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.04.2010, 20:50
Помогаю со студенческими работами здесь

Найти угол исходя из координат мышки
Есть 2 точки , первая это там где будет происходить отрисовка браша а вторая это указатель мыши . Нужно висчитывать угол от 0 до 360 что бы...

MFC, CDialog, перехват координат курсора мышки
Всем добрый день. Есть задача перехватить координаты курсора мышки внутри окна и за пределами диалогового окна. Исследую данную...

Произвольное изменение координат мышки при нажатии кнопки
как сделать так чтобы при нажатии кн0пки координаты мышки изменялись произвольным образом

Выводить координаты мышки по срабатыванию любой кнопки мышки каждый раз разными цветами
Здравствуйте , никак не могу разобраться в задании , необходимо выводить координаты мышки по срабатыванию любой клавиши мыши (пкм и лкм)...

Модуль EVO II синхронизация 50гц, На какой ножке контроллера синхронизация шим двигателя?
Частый дефект для модулей EVO II с коллекторным двигателем - нет управления двигателем при помехах в сети. Помехи создают диммеры, блоки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru