2013-10-08 3 views
0
private void btnset_Click(object sender, RoutedEventArgs e) 
{ 
    Student newstudent = new Student(); 
    { 
     newstudent.Forename = txtforename.Text; 
     newstudent.Surname = txtsurname.Text; 
     newstudent.Course = txtcourse.Text; 
     newstudent.DoB = txtdob.Text; 
     newstudent.Matriculation =int.Parse(txtmatric.Text); 
     newstudent.YearM = int.Parse(txtyearm.Text); 
    } 
} 

Я пытаюсь получить данные из объекта, программа Я создаю прямо сейчас, в настоящее время включает в себя 3 кнопки:получение данных из объекта класса

  1. set (который устанавливает данные в текстовых полях и создает новый Student)
  2. clear (который очищает упомянутые текстовые поля)
  3. get.

У меня возникли проблемы с get, так как она включает в себя восстановление данных после того, как она была очищена, которая требует получения данных от newstudent, и я не слишком уверен в том, как сделать это.

Edit: Я хотел бы также добавить, что студент является отдельным классом, который я создаю эти данные из

+1

Комбо' 'Student.Forename' и newstudent.Surname' выглядит странно. Это не так. –

+1

Это похоже на то, что вы ищете 'Binding'. Красота 'WPF' - это, безусловно, способность связываться с данными и графический интерфейс для обновления через него. Проверьте http://msdn.microsoft.com/en-us/library/ms750612.aspx – Andrew

+0

нет, вы правы, это я пытаюсь различными способами получить данные. –

ответ

0

Я guesss вы хотите использовать студент, когда он был создан из других мест. Затем используйте свойство вместо локальной переменной:

private Student NewStudent { get; set; } 

private void btnset_Click(object sender, RoutedEventArgs e) 
{ 
    NewStudent = new Student(); 
    NewStudent.Forename = txtforename.Text; 
    NewStudent.Surname = txtsurname.Text; 
    NewStudent.Course = txtcourse.Text; 
    NewStudent.DoB = txtdob.Text; 
    NewStudent.Matriculation = int.Parse(txtmatric.Text); 
    NewStudent.YearM = int.Parse(txtyearm.Text); 
} 

Теперь вы можете получить доступ к объекту и из других обработчиков событий.

+0

нет, это сработало! Большое спасибо. –

+0

@JoshuaAiroConlinTaylor: Затем присвойте ему значение по умолчанию, назначив 'new Student()'. Или проверьте, имеет ли он значение null при доступе к нему. –

0

вашего newStudent переменные существует только в пределах функции btnSet_Click. Вероятно, вам нужна переменная класса для доступа к newStudent в вашей функции btnGet_Click.

Действительно, хотя, я не уверен, что ваша общая цель является

+0

Не обязательно, добавьте вызов 'SaveStudent (newStudent)' в конце, а затем область вполне нормально. –

0

В своем классе объявить переменную для хранения данных Student, как это:

Student theStudent; 

new ИНГ вверх от Student в «набор» метод будет заботиться о создании и хранения данных для Student объект.

Теперь в вашем "получить" обработчик щелчка кнопки, вы можете получить значения theStudent «s, как это:

private void btnget_Click(object sender, RoutedEventArgs e) 
{ 
    txtforename.Text = theStudent.Forename; 
    txtsurname.Text = theStudent.Surname; 
    txtcourse.Text = theStudent.Course; 
} 
+0

Я думаю, что работал чувак! спасибо огромное –

+0

ах не работал. –

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