Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Кротяка
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392

Ссылка на объект не указывает на экземпляр объекта(ну как так?!)

04.06.2014, 02:28. Показов 1347. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть у меня классы User и Game:
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
public class User
{
    private bool Go;
 
    public User() { }
 
    public bool go
    {
            get { return Go; }
            set { Go = value; }
    }
};
 
public class Game
{
    private User user;
 
    public void AddUser()
    {
        user = new User();
    }
 
    public void KeyPressed(Form1 f, Graphics g, KeyPressEventArgs key)
    {
        if (key.KeyChar == (char)Keys.Space)
        {
                if (user.go == false)
                {
                     //дальнейшие действия
                }
        }
    }
};
далее в классе Form1 я совершаю следующие действия:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
Graphics g;
Game game = new Game();
 
private void Form1_MouseClick(object sender, MouseEventArgs e)
{            
    game.AddUser();
}
 
public void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    g = Graphics.FromHwnd(Handle);
    game.KeyPressed(this, g, e);
}
после нажатия пробела бьёт ошибку "Ссылка на объект не указывает на экземпляр объекта" в строке
C#
1
if (user.go == false)
не могу понять, в чём проблема? Объект класса User я создаю(это совершается прежде, чем обрабатывается нажатие клавиши, т.е. сначала кликаю, а потом жму пробел). Почему несмотря на то, что объект создан, программа его не видит? И как от этого избавиться/обойти(кроме как создавать новый объект, потому что тогда нарушится всё, что выполнялось до этого)?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2014, 02:28
Ответы с готовыми решениями:

Как правильно создать массив PictureBox (Ссылка на объект не указывает на экземпляр объекта)
Здравствуйте! Начал изучать WF и столкнулся с такой проблемой: Пытаюсь создать Массив PictureBox , но в этой строчке при нажатии button1...

Ссылка на объект не указывает на экземпляр объекта
Ругается на красную строчку помогите. private void button4_Click_1(object sender, EventArgs e) { int columns =...

Ссылка на объект не указывает на экземпляр объекта
Есть кнопка, при нажатии на нее нужно показать длину массива Выбивает ошибку "ссылка на объект не указывает на экземпляр...

2
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
04.06.2014, 03:27
Объект точно создан? В пошаговой отладке проверял?
0
 Аватар для Кротяка
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
04.06.2014, 03:47  [ТС]
ViterAlex, не проверял, но он точно создан. Здесь ошибки быть не может. Дело как мне кажется в другом. Просто если вызывать метод KeyPressed(да и любой другой) внутри класса Game, то всё работает отлично, но вот когда я вызываю его через объект в классе Form1, то возникает такая проблема.
Например, я проверял, что если заполнить коллекцию внутри класса Game, к примеру 10ю элементами, а потом в классе Form1 запросить количество этих элементов, то он без колебаний выдаст 0...не пойму, почему Form1 НЕ ВИДИТ того, что происходит в Game...

Добавлено через 10 минут
ViterAlex, проверил с помощью точки останова, объект создаётся и распознаётся ВЕЗДЕ, кроме как внутри метода KeyPressed...там он почему то принимает значение null...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2014, 03:47
Помогаю со студенческими работами здесь

Ссылка на объект не указывает на экземпляр объекта
Всем привет! Мне необходимо написать следующее приложение: на форме один по периметру бегает Label и плавно меняет свой цвет. На второй...

Ссылка на объект не указывает на экземпляр объекта
Всем привет ребята) В ходе выполнения цикла многомерного массива возникла ошибка "System.NullReferenceException" При том, что...

Ссылка на объект не указывает на экземпляр объекта
Нужно было сделать анимацию произвольного движения окружностей namespace WindowsFormsApplication4 { public partial class Form1...

Ссылка на объект не указывает на экземпляр объекта
В main есть данный код: rb = new RadioButton; for (int i = 0; i < rb.Length; i++) { rb...

Ссылка на объект не указывает на экземпляр объекта
Только учусь сильно не ругайте. Есть код все работает при нажатии кнопки btnAddDriver выскакивает ошибка + $exception {"Ссылка на...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru