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

Не удалось найти тип или имя пространства имен "Form1"

04.10.2018, 12:56. Показов 19717. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При запуске кода выдает ошибку (Не удалось найти тип или имя пространства имен "Form1"(возможно ,отсутствует директива using или ссылка на сборку))



Поискал в на сайтах решение проблемы не нашел

Кто знает как решить буду очень признателен .

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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
 
 
namespace HookDemoApp
{
    internal class HookDemoHelper
    {
        private const int WH_KEYBOARD_LL = 13;
 
 
        private LowLevelKeyboardProcDelegate m_callback;
        private IntPtr m_hHook;
 
 
        [DllImport("user32.dll", SetLastError = true)]
        private static extern IntPtr SetWindowsHookEx(
            int idHook,
            LowLevelKeyboardProcDelegate lpfn,
            IntPtr hMod, int dwThreadId);
 
 
        [DllImport("user32.dll", SetLastError = true)]
        private static extern bool UnhookWindowsHookEx(IntPtr hhk);
 
 
        [DllImport("Kernel32.dll", SetLastError = true)]
        private static extern IntPtr GetModuleHandle(IntPtr lpModuleName);
 
 
        [DllImport("user32.dll", SetLastError = true)]
        private static extern IntPtr CallNextHookEx(
            IntPtr hhk,
            int nCode, IntPtr wParam, IntPtr lParam);
 
 
        private IntPtr LowLevelKeyboardHookProc(
            int nCode, IntPtr wParam, IntPtr lParam)
        {
            if (nCode < 0)
            {
                return CallNextHookEx(m_hHook, nCode, wParam, lParam);
            }
            else
            {
                var khs = (KeyboardHookStruct)
                          Marshal.PtrToStructure(lParam,
                          typeof (KeyboardHookStruct));
               
                Debug.Print("Hook: Code: {0}, WParam: {1},{2},{3},{4} ",
                            nCode, wParam, lParam,
                            khs.VirtualKeyCode,
                            khs.ScanCode, khs.Flags, khs.Time);
               
                Debug.Print(khs.VirtualKeyCode.ToString());
 
 
                if (khs.VirtualKeyCode == 9 &&
                    wParam.ToInt32() == 260 &&
                    khs.ScanCode == 15) //alt+tab
                {
                    System.Console.WriteLine("Alt+Tab pressed!");
                    IntPtr val=new IntPtr(1);
                    return val;                    
                }
                else
                {
                    return CallNextHookEx(m_hHook, nCode, wParam, lParam);
                }
           
            }
        }
 
 
        [StructLayout(LayoutKind.Sequential)]
        private struct KeyboardHookStruct
        {
            public readonly int VirtualKeyCode;
            public readonly int ScanCode;
            public readonly int Flags;
            public readonly int Time;
            public readonly IntPtr ExtraInfo;
        }
 
 
        private delegate IntPtr LowLevelKeyboardProcDelegate(
            int nCode, IntPtr wParam, IntPtr lParam);
 
 
        public void SetHook()
        {
            m_callback =LowLevelKeyboardHookProc;
            m_hHook =SetWindowsHookEx(WH_KEYBOARD_LL,
                m_callback,
                GetModuleHandle(IntPtr.Zero),0);
        }
 
 
        public void Unhook()
        {
            UnhookWindowsHookEx(m_hHook);
        }
 
 
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2018, 12:56
Ответы с готовыми решениями:

Не удалось найти тип или имя пространства имен
public void getCurs() { var currency = new ru.cbr.www.DailyInfo(); DataSet myData =...

Не удалось найти имя типа или пространства имен "Form1"
C# Ошибка 1 Не удалось найти имя типа или пространства имен &quot;Form1&quot; (пропущена директива using или ссылка на сборку?) using System; ...

Не удалось найти тип или имя пространства имен "Animation"
Подскажите в чем проблема? CS0246 C# Не удалось найти тип или имя пространства имен &quot;Animation&quot; (возможно, отсутствует...

9
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18263 / 14188 / 5366
Регистрация: 17.03.2014
Сообщений: 28,875
Записей в блоге: 1
04.10.2018, 13:02
POLIGLOT7, в приведенном коде Form1 не встречается ни разу. Покажите код где реально возникает ошибка.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
05.10.2018, 00:32
Цитата Сообщение от OwenGlendower Посмотреть сообщение
в приведенном коде Form1 не встречается ни разу. Покажите код где реально возникает ошибка.
Ну, это слишком просто будет.... Вы так догадайтесь!
1
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 33
05.10.2018, 03:04  [ТС]
Не тот код
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private Hook _hook;
 
        [DllImport("user32.dll")]
        static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
 
        public Form1() //Конструктор формы
        {
            InitializeComponent();
            keybd_event(0x90, 0x45, 0x1, (UIntPtr)0);
 
            // 0x90 клавиша NumLock
            _hook = new Hook(0x90); //Передаем код клавиши на которую ставим хук, тут это CapsLock
 
            _hook.KeyPressed += new KeyPressEventHandler(_hook_KeyPressed);
            _hook.SetHook();
        }
 
        void _hook_KeyPressed(object sender, KeyPressEventArgs e) //Событие нажатия клавиш
        {
            this.Visible = !this.Visible; //показываем форму 
            this.Activate();
        }
    }
 
    public class Hook : IDisposable
    {
        #region Declare WinAPI functions
        [DllImport("kernel32.dll")]
        private static extern IntPtr LoadLibrary(string lpFileName);
 
        [DllImport("user32.dll")]
        private static extern IntPtr SetWindowsHookEx(int idHook, KeyboardHookProc callback, IntPtr hInstance, uint threadId);
        [DllImport("user32.dll")]
        private static extern IntPtr CallNextHookEx(IntPtr idHook, int nCode, int wParam, IntPtr lParam);
        [DllImport("user32.dll")]
        private static extern bool UnhookWindowsHookEx(IntPtr hInstance);
        #endregion
        #region Constants
        private const int WH_KEYBOARD_LL = 13;
        private const int WH_KEYDOWN = 0x0100;
        #endregion
 
        // код клавиши на которую ставим хук
        private int _key;
        public event KeyPressEventHandler KeyPressed;
 
        private delegate IntPtr KeyboardHookProc(int code, IntPtr wParam, IntPtr lParam);
        private KeyboardHookProc _proc;
        private IntPtr _hHook = IntPtr.Zero;
 
        public Hook(int keyCode)
        {
            _key = keyCode;
            _proc = HookProc;
        }
 
        public void SetHook()
        {
            var hInstance = LoadLibrary("User32");
            _hHook = SetWindowsHookEx(WH_KEYBOARD_LL, _proc, hInstance, 0);
        }
 
        public void Dispose()
        {
            UnHook();
        }
 
        public void UnHook()
        {
            UnhookWindowsHookEx(_hHook);
        }
 
        private IntPtr HookProc(int code, IntPtr wParam, IntPtr lParam)
        {
            if ((code >= 0 && wParam == (IntPtr)WH_KEYDOWN) && Marshal.ReadInt32(lParam) == _key)
            {
 
                // бросаем событие
                if (KeyPressed != null)
                {
                    KeyPressed(this, new KeyPressEventArgs(Convert.ToChar(code)));
                }
            }
 
            // пробрасываем хук дальше
            return CallNextHookEx(_hHook, code, (int)wParam, lParam);
        }
    }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
05.10.2018, 09:58
Лучший ответ Сообщение было отмечено POLIGLOT7 как решение

Решение

Цитата Сообщение от POLIGLOT7 Посмотреть сообщение
При запуске кода выдает ошибку (Не удалось найти тип или имя пространства имен "Form1"(возможно ,отсутствует директива using или ссылка на сборку))
Цитата Сообщение от POLIGLOT7 Посмотреть сообщение
Не тот код
Вы дали код класса Form1, а где возникает ошибка? Не в этом же. В каком участке кода? На какой строке?
0
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 33
05.10.2018, 10:09  [ТС]
Уже разобрался сам , Просто была не подключена форма .
Сейчас единственный вопрос как сделать так что бы после того как хук на клавиатуру был вкл , он посылал на richtextbox те символы которые были нажаты.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
05.10.2018, 10:35
Цитата Сообщение от POLIGLOT7 Посмотреть сообщение
после того как хук на клавиатуру был вкл , он посылал на richtextbox те символы которые были нажаты
Посмотрите для начала Хук клавиатуры - как получить код нажатой клавиши
1
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 33
05.10.2018, 11:16  [ТС]
Так пошел разбираться )
0
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 33
09.10.2018, 09:01  [ТС]
Как я понял надо сделать так что бы программа получала код клавиши на которую нажал пользователь.
Пример в C++ я посмотрел . Но как это реализовать на C# ??
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
09.10.2018, 12:50
Цитата Сообщение от POLIGLOT7 Посмотреть сообщение
Как я понял надо сделать так что бы программа получала код клавиши на которую нажал пользователь.
Пример в C++ я посмотрел . Но как это реализовать на C# ??
Создайте новую тему с этим вопросом. Так как вопрос отличается от названия темы - мало кто будет её читать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2018, 12:50
Помогаю со студенческими работами здесь

Не удалось найти тип или имя пространства имен "Pendulum"
Нужно изобразить математический маятник, никак не получается Не удалось найти тип или имя пространства имен &quot;Pendulum&quot; Не...

Не удалось найти тип или имя пространства имен "Form_About" (пропущена директива using или ссылка на сборку)
Есть код: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; ...

Не удалось найти тип или имя пространства имен "Graphics" (возможно, отсутствует директива using или ссылка на сборку)
Не удалось найти тип или имя пространства имен &quot;Graphics&quot; (возможно, отсутствует директива using или ссылка на сборку) using System; ...

Ошибка CS0246 Не удалось найти тип или имя пространства имен "IMainForm"
Здравствуйте! Учусь писать текстовый редактор. В процессе написания кода возникла указанная в названии темы ошибка. Хочу с ней...

UserControl. pictureBox. Не удалось найти тип или имя пространства имен "pictureBox1"
Ошибка: &quot;Не удалось найти тип или имя пространства имен &quot;pictureBox1&quot; (возможно, отсутствует директива using или ссылка на сборку)&quot;...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru