2010-11-17 2 views
0

Это программа, которая считывает данные учащихся из текстового файла и выводит его в список (Form1). Оттуда вы можете добавить нового ученика в текстовый файл, нажав кнопку «Добавить», которая показывает другую форму (Form2), и вы вводите новые данные ученика в соответствующие текстовые поля. После этого вы можете нажать кнопку «Добавить» (Form2), но окно «Добавить ученик» (Form2) появится снова, когда все введенные данные исчезнут, и если я снова помещу новую информацию о студенте в текстовые поля и нажмите «Добавить», программа перескакивает обратно в Form1 и поле сообщения, чтобы сказать, что было добавлено в текстовый файл, но ничего не было добавлено, кроме пустых элементов списка.Как передать данные строковой переменной из Form2 в Form1?

ответ

0

Я думаю, что у вас есть задания назад; вы устанавливаете значения текстового поля в элементы массива строк, которые являются нулевыми, потому что они никогда не были установлены. Попробуй это первым.

Еще одна вещь, которую вы можете сделать, - разместить экземпляр массива данных в Form1 и передать его по ссылке на конструктор Form2. Таким образом, работа Form2 - это просто сбор данных, и на самом деле не нужно знать подробности реализации Form1; все, что ему нужно, это массив строк (или предпочтительно класс с именованными свойствами), в котором хранятся его данные. Form1 может затем изучить DialogResult из Form2, и если это «ОК», Form1 знает, что в массиве, который он передал Form2, есть данные, и он может обрабатывать манипуляции с собственным ListView и записывать в файл.

+0

Wut !? моя вина... – stranger

0

Обычно Form1 создает экземпляр Form2 и показывает его. Вы могли бы добавить публичный объект getter в Form2, который будет содержать необходимую информацию, а Form1 может извлечь его из экземпляра Form2, когда это необходимо.

0

Сделайте свойства на второй форме, а затем в первой форме проверьте свойства, чтобы получить значение.

Смежные вопросы