.NET 4.x Разработать приложение Windows Forms, позволяющее организовать телефонную книгу - C#
Формулировка задачи:
Разработать приложение Windows Forms, позволяющее организовать телефонную книгу.
Требования:
1. Данные должны сохраняться при закрытии приложения.
2. Для каждой персоны необходимо сохранять несколько контактов.
3. Пользователь может добавлять, изменять и удалять персон или контакты.
Примечание: список персон и контактов реализовать используя тип BindingList<>.
_Saves
null; класс персонаusing System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Lab25 { [Serializable] class Person { [Serializable] internal class Contact { String _Type_Contact, _Value_Contact; public String Type_Contact { get { return _Type_Contact; } set { _Type_Contact = value; } } public String Value_Contact { get { return _Value_Contact; } set { _Value_Contact = value; } } } String /*_Family_Name,//Фамилия _Name,//Имя _Middle_Name,*/ _FIO; //Отчество /*public String Family_Name { get { return _Family_Name; } set { _Family_Name = value; } } public String Name { get { return _Name; } set { _Name = value; } } public String Middle_Name { get { return _Middle_Name; } set { _Middle_Name = value; } }*/ public String FIO { get { return _FIO; } set { _FIO = value; } } List<Contact> _Contact = new List<Contact>();//Список контактов; public List<Contact> _Contacts { get { return _Contact; } } /// <summary> /// Добавляет контакт для персоны /// </summary> /// <param name="_Type_Contact">Тип контакта ISQ/Telephone/Skype</param> /// <param name="_Value_Contact">Контактные данные Номер/ID</param> public void Add_Contact(String _Type_Contact, String _Value_Contact) { _Contact.Add(new Contact { Type_Contact = _Type_Contact, Value_Contact = _Value_Contact }); } /// <summary> /// Удаляет контакт персоны /// </summary> /// <param name="_Type_Contact">Тип контакта ISQ/Telephone/Skype</param> /// <param name="_Value_Contact">Контактные данные Номер/ID</param> public void Delite_Contact(String _Type_Contact, String _Value_Contact) { _Contact.Remove(new Contact { Type_Contact = _Type_Contact, Value_Contact = _Value_Contact }); } } }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.Serialization.Formatters.Binary; using System.Xml.Serialization; using System.IO; namespace Lab25 { public partial class FRM_Main : Form { public FRM_Main() { InitializeComponent(); } BindingList<Person> Contacts = new BindingList<Person>(); private void FRM_Main_Load(object sender, EventArgs e) { //Contacts.Add(new Person { Family_Name="zzz", Middle_Name="hj", Name="jkhj" }); Contacts.Add(new Person {FIO = "GHJ jkef eh" }); Contacts[0].Add_Contact("isq", "5565"); comboBox1.DataSource = Contacts; } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if ((sender as ComboBox).Items.Count!= 0) bindingSource1.DataSource = Contacts[(sender as ComboBox).SelectedIndex]._Contacts; dataGridView1.DataSource = bindingSource1; } private void FRM_Main_FormClosed(object sender, FormClosedEventArgs e) { XmlSerializer _Saves = new XmlSerializer(typeof(BindingList<Person>)); //тут вылетает using (FileStream _fs = new FileStream("base.xml", FileMode.Create)) _Saves.Serialize(_fs, Contacts); } } }
Решение задачи: «.NET 4.x Разработать приложение Windows Forms, позволяющее организовать телефонную книгу»
textual
Листинг программы
<?xml version="1.0" encoding="utf-8"?> <ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Person> <LFP>Сергеев Сергей сергеевич</LFP> <Contacts> <Contact> <TypeContact>iсq</TypeContact> <ValueContact>5565</ValueContact> </Contact> </Contacts> </Person> <Person> <LFP>Алексеев Алексей Алексеевич</LFP> <Contacts /> </Person> </ArrayOfPerson>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д