0 / 0 / 0
Регистрация: 27.05.2018
Сообщений: 53
1

Не выходит MessageBox.Show

05.01.2019, 17:20. Показов 3817. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, перепробовал множество вариантов но при нажатие на кнопку так и не выходит. Не понимаю что не так, прошу помощи!
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;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows;
 
 
namespace WindowsFormsApp3
{
 
    public partial class Bot : Form
    {
 
 
        public Bot()
        {
            InitializeComponent();
 
 
        }
 
 
        public int kv = 0;
 
        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            System.Diagnostics.Process.Start("https://****");
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            kv = 1;
        }
 
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
      
            if (e.KeyData == Keys.L)
            {
                if (kv == 0)
                {
                    Error();
                }
                else if (kv == 1)
                {
                    MessageBox.Show("Можно начинать работать!", "Done!");
                }
                return;
            }
        }
 
        public static void Error()
        {
            MessageBox.Show("Для начала нажмите INJECT", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2019, 17:20
Ответы с готовыми решениями:

Два раза открывается MessageBox.Show после второго вызова MessageBox
Здравствуйте! Подскажите пожалуйста... Мне вот надо было сделать диалоговое окно для ввода данных...

MessageBox.Show()
Здравствуйте! Я вызываю метод MessageBox.Show("!!!!") и мне необходимо, что бы пока я его не...

MessageBox.Show собрать информацию
Здравствуйте, помогите у меня есть текстбоксы мне нужно чтобы MessageBox.Show обробатывал текст в...

Вывод MessageBox.Show если нет результатов
Проблема такая: Когда есть дубликат в файле, то функция поиска находит и отображает в текст бокс....

11
460 / 339 / 115
Регистрация: 17.08.2014
Сообщений: 1,284
05.01.2019, 17:40 2
Revin, Какой именно из двух? Тут по коду не видно что при нажатии на кнопку должен показываться какой то Messagebox
0
0 / 0 / 0
Регистрация: 27.05.2018
Сообщений: 53
05.01.2019, 18:55  [ТС] 3
Вот здесь идет проверка на нажатие клавиши
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
if (e.KeyData == Keys.L)
            {
                if (kv == 0)
                {
                    Error();
                }
                else if (kv == 1)
                {
                    MessageBox.Show("Можно начинать работать!", "Done!");
                }
                return;
            }
        }
Пробовал в двух случаях по разному, итог везде 0
0
460 / 339 / 115
Регистрация: 17.08.2014
Сообщений: 1,284
05.01.2019, 19:01 4
Revin, А в отладке что показывает? Дается мне что клавиша у вас эта не нажимается, либо раскладка не та.
0
Эксперт .NET
6318 / 3936 / 1578
Регистрация: 09.05.2015
Сообщений: 9,237
05.01.2019, 19:23 5
Форма должна быть активна во время нажатия кнопки.
0
292 / 174 / 45
Регистрация: 05.07.2018
Сообщений: 561
05.01.2019, 19:23 6
Revin, У Вас обрабатывается keydown формы.
Для корректной работы Вашего кода, в момент возникновения keydown, в фокусе должна быть форма, а не кнопка.
0
0 / 0 / 0
Регистрация: 27.05.2018
Сообщений: 53
05.01.2019, 19:30  [ТС] 7
Вот что в отладчике:
C#
1
2
3
4
5
6
7
8
"WindowsFormsApp4.exe" (CLR v4.0.30319: DefaultDomain). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: DefaultDomain). Загружено "C:\Usersлександр\source\repos\WindowsFormsApp4\WindowsFormsApp4\bin\Debug\WindowsFormsApp4.exe". Символы загружены.
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
Добавлено через 1 минуту
Извиняюсь за глупый вопрос, но как сделать фокус на форме?
0
292 / 174 / 45
Регистрация: 05.07.2018
Сообщений: 561
05.01.2019, 19:33 8
Цитата Сообщение от Revin Посмотреть сообщение
Вот что в отладчике:
C#
1
2
3
4
5
6
7
8
"WindowsFormsApp4.exe" (CLR v4.0.30319: DefaultDomain). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: DefaultDomain). Загружено "C:\Usersлександр\source\repos\WindowsFormsApp4\WindowsFormsApp4\bin\Debug\WindowsFormsApp4.exe". Символы загружены.
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"WindowsFormsApp4.exe" (CLR v4.0.30319: WindowsFormsApp4.exe). Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
Добавлено через 1 минуту
Извиняюсь за глупый вопрос, но как сделать фокус на форме?
Revin,
C#
1
Form1.Focus();
0
0 / 0 / 0
Регистрация: 27.05.2018
Сообщений: 53
05.01.2019, 19:43  [ТС] 9
Вот я сделал фокус на форме:
C#
1
2
3
4
        private void Bot_Load(object sender, EventArgs e)
        {
            Focus();
        }
Единственное что я сделал слгека по другому но по сути выход должен быть один и тот же
0
460 / 339 / 115
Регистрация: 17.08.2014
Сообщений: 1,284
05.01.2019, 19:52 10
Revin, не обязательно фокус устанавливать на форму. У формы есть свойство KeyPreview которое позволяет пробрасывать клавиши от элементов управления формы на саму форму. Выставите это свойство в true.
0
0 / 0 / 0
Регистрация: 27.05.2018
Сообщений: 53
05.01.2019, 19:54  [ТС] 11
Изменил на
C#
1
2
3
4
        private void Bot_Load(object sender, EventArgs e)
        {
            KeyPreview = true;
        }
Однако, эффекта нету
0
460 / 339 / 115
Регистрация: 17.08.2014
Сообщений: 1,284
05.01.2019, 20:27 12
Лучший ответ Сообщение было отмечено Revin как решение

Решение

Revin, поставьте точку останова на if (e.KeyData == Keys.L) . и в Debug запустите проект через F5. наведите на e и посмотрите какая клавиша у вас там отображается при нажатии на клавиатуру.

Добавлено через 23 минуты
Проблема была с не привязанным обработчиком события KeyDown.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2019, 20:27
Помогаю со студенческими работами здесь

Почему не доходит до MessageBox.Show("hiw")?
using System; using System.Net; using System.IO; using System.Diagnostics; using...

MessageBox.Show из dll
Всем привет ) Как мне сделать чтобы dll могла сделать MessageBox.Show ? А то у меня...

C# и Outlook, MessageBox.Show не существует в данном контексте
Из стандартного майкросовтовского примера не работает MessageBox.Show пишет что то типа немогу...

Messagebox.show
Как вывести результат Console.WriteLine("key={0} volue={1}", i, dict); в...


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

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

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