3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
1
.NET 4.x

Как сделать, чтобы при нажатии на правую сторону, открывался mbox, и на левую, открывался другой mbox

10.09.2018, 11:27. Показов 1349. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть картинка в окне и там есть 2 человека в той картинке, я хочу сделать, чтобы нажав на человеку на картинке открывлся бы mbox и там чтото написано и нажав на второго человека, открылся бы другой mbox. Я пробовал сделать с кнопками, типа поместить две кнопки на форму человека и сделать той кнопке прозрачность 0, просто чтобы была видна только картина и можно было бы нажать на картину ( на тот безпрозрачный button) и сделать то что я хочу, но как я посмотрел, кнопке нельзя настроить прозрачность, так что ещё можно сделать?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2018, 11:27
Ответы с готовыми решениями:

Как сделать, чтобы при нажатии на Label открывался MS Word?
Как сделать, чтобы при нажатии на Label открывался документ MS Word? Если не трудно, напишите...

Как сделать, что при нажатии на кнопку открывался другой project?
Как сделать, что при нажатии на кнопку открывался другой project?

Как сделать чтобы при нажатии на кнопку открывался фаил расширением .exe?
Как сделать чтобы при нажатии на кнопку открывался фаил расширением .exe?

Как сделать так, чтобы при нажатии на клавишу в c++ builder открывался файл в access?
Как сделать так,чтобы при нажатии на клавишу в c++ builder открывался файл в access???? Напишите...

8
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
10.09.2018, 11:53 2
так помести PictureBox на нём картинка Ваша и обрабатывай клики по нему сразу, зачем кнопки?
0
C# Brain.net
35 / 35 / 7
Регистрация: 21.10.2012
Сообщений: 333
Записей в блоге: 12
10.09.2018, 12:16 3
У тебя есть две картинки.
У каждой картинки есть обработчики клика.На картинке показал все.
И потом в пишешь например для первой картинки:
C
1
MessageBox.Show("Вау а оно работает","название окна", MessageBoxButtons.OK)
Миниатюры
Как сделать, чтобы при нажатии на правую сторону, открывался mbox, и на левую, открывался другой mbox  
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
10.09.2018, 15:41  [ТС] 4
Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
так помести PictureBox на нём картинка Ваша и обрабатывай клики по нему сразу, зачем кнопки?
Цитата Сообщение от Jlovenpk1 Посмотреть сообщение
У тебя есть две картинки.
Понимаете, у меня не две картинки, а одна, только на той одной изображены 2 человека, на одной половине картинки мужчина, на другой женщина. Поэтому мне надо, если нажать на тело мужчины, так вылезит mbox с надписью "мужчина", если нажать на женщину, так жещина пишет. Мне просто по всё картинке не надо нажимать, только в именное место в картине.
0
C# Brain.net
35 / 35 / 7
Регистрация: 21.10.2012
Сообщений: 333
Записей в блоге: 12
10.09.2018, 15:53 5
Terminator004, ааа, понял.
Дай 5 сек

Добавлено через 8 минут
В общем говоря, что бы без проблем это релизнуть, юзай WPF.
С WinForms дизайнерские порывы ограниченны.
0
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
10.09.2018, 15:59  [ТС] 6
Цитата Сообщение от Jlovenpk1 Посмотреть сообщение
В общем говоря, что бы без проблем это релизнуть, юзай WPF.
С WinForms дизайнерские порывы ограниченны.
Хорошо. А с winForms ничего нельзя придумать?
0
910 / 814 / 332
Регистрация: 03.02.2015
Сообщений: 5,248
Записей в блоге: 9
10.09.2018, 16:34 7
Цитата Сообщение от Terminator004 Посмотреть сообщение
У меня есть картинка в окне
- поясните это как? На форме отрисована или на форме элемент управления с картинкой?
0
910 / 814 / 332
Регистрация: 03.02.2015
Сообщений: 5,248
Записей в блоге: 9
10.09.2018, 17:00 8
Лучший ответ Сообщение было отмечено Terminator004 как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System.Drawing;
 
namespace WindowsFormsApp1
{
    class ItemImg
    {
        public Point    PosImg      { set; get; }
        public Image    Img         { set; get; }
        public Size     SizeImg     { set; get; }
 
        public ItemImg(Point pos, Size size, Image img)
        {
            PosImg  = pos;
            Img     = img;
            SizeImg = size;
        }
    }
}

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApp1
{
    //
    public enum OnClickItem { Empty, Men, Women }
 
    public partial class Form1 : Form
    {
        //
        ItemImg One = new ItemImg(new Point(0, 0), new Size(50, 100), Res.m);
        ItemImg Tow = new ItemImg(new Point(50, 0), new Size(50, 100), Res.w);
 
        //
        private string ResClick = OnClickItem.Empty.ToString();
 
        //
        public Form1()
        {
            InitializeComponent();
        }
 
        //
        private OnClickItem GetTypeClick(Point posClick)
        {
            var res = OnClickItem.Empty;
 
            var rm = new Rectangle(One.PosImg, One.SizeImg);
            var rw = new Rectangle(Tow.PosImg, Tow.SizeImg);
 
            if (rm.Contains(posClick)) { res = OnClickItem.Men; }
            if (rw.Contains(posClick)) { res = OnClickItem.Women; }
 
            return res;
        }
 
        //
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                ResClick = GetTypeClick(new Point(e.X, e.Y)).ToString();
                Invalidate();
            }
        }
 
        //
        protected override void OnPaint(PaintEventArgs e)
        {
            var g = e.Graphics;
 
            g.DrawImage(One.Img, new Rectangle(One.PosImg, One.SizeImg));
            g.DrawImage(Tow.Img, new Rectangle(Tow.PosImg, Tow.SizeImg));
 
            using (var fnt = new Font("", 12))
            {
                g.DrawString(ResClick, fnt, Brushes.Red, new Point(10, 120));
            }
        }
    }
}
Изображения
   
1
3 / 2 / 1
Регистрация: 14.09.2016
Сообщений: 501
10.09.2018, 17:44  [ТС] 9
Sanya_sa, спасибо большое!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2018, 17:44
Помогаю со студенческими работами здесь

Как сделать так,чтобы при нажатии на клавишу в c++ builder открывался файл в powerpoint?
Как сделать так,чтобы при нажатии на клавишу в c++ builder открывался файл в powerpoint????...

Как сделать, чтобы при нажатии на кнопку Messagebox открывался только один раз?
Как сделать что-бы когда при нажатии на кнопку Messagebox открывался только один раз (пока на...

Как сделать, чтобы файл *.bat при нажатии кнопки открывался как *.txt?
Как сделать, чтобы файл *.bat при нажатии кнопки открывался как *.txt?

Как сделать, чтобы пр нажатии на кнопку открывался сайт?
Есть игра на SDL и в ней есть кнопка "Фейсбук". Сейчас при нажатии на нее изменяется название...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru