none
"Общение форм" RRS feed

  • Вопрос

  • Form2

    public
     List<string
    > myList;
    public
     int
     test = 5;
    
    

     

    Form3

    Form2 settings = new
     Form2();
    this
    .textBox2.Text = Convert.ToString(test); // Работает. Выводит значение 5
    
    
    // Ошибка: Ссылка на объект не указывает на экземпляр объекта

    this .textBox2.Text = Convert.ToString(settings.myList.Count);

     

    • Перемещено Siddharth Chavan 1 октября 2010 г. 21:23 MSDN Forums Consolidation (От:Visual C#)
    26 июня 2010 г. 6:59

Ответы

  • Всё равно если даже если он инициализируется в начале, то позднее становится null-ом, разберитесь в отладчике почему, это же ошибка не доступа, а того что объект null^)

    • Помечено в качестве ответа geforse 26 июня 2010 г. 7:41
    26 июня 2010 г. 7:30

Все ответы

  • В конструкторе Form2 вы должны инициализировать список myList = new List<string>();

    Всё просто, или я что-то не так понял?

    26 июня 2010 г. 7:12
  • Само собой это есть myList = new List<string>();

    Из первой формы обращение к myList.Count доступно, а из третьей нет.

    Хотя к test доступ есть..


    --------------

    public int test;    
     public void radioButton4_CheckedChanged(object sender, EventArgs e)
        {
     test = 5;
         }
    
    В третьей форме значение test = 0
    
    В чём проблема ?(


    26 июня 2010 г. 7:23
  • Всё равно если даже если он инициализируется в начале, то позднее становится null-ом, разберитесь в отладчике почему, это же ошибка не доступа, а того что объект null^)

    • Помечено в качестве ответа geforse 26 июня 2010 г. 7:41
    26 июня 2010 г. 7:30
  • Если Вам надо, чтобы одна форм могла общаться с другой формой, то в ее конструктор надо передавать указатели на все те формы, к которым она должна иметь доступ. А далее через эти указатели вы имеете полный доступ к тем формам, на которые они ссылаются.

    Посмотрите пример вот тут: Взаимодействие форм проекта

    • Предложено в качестве ответа Svyatoslav Pankratov 26 июня 2010 г. 9:00
    • Помечено в качестве ответа I.Vorontsov 29 июня 2010 г. 5:51
    • Снята пометка об ответе I.Vorontsov 29 июня 2010 г. 5:51
    26 июня 2010 г. 8:54
  • Святослав, вы вопрос прочитали?:)

    27 июня 2010 г. 9:23