Reference no: EM1332197
Create a Windows Form Application project in C# as per following guidelines.
1. Create a Form with a text property of Friends.
2. Add a Class file to your project and name it Friend.
3. In the Friend class declare the following:
o private string lastName;
o private string phoneNumber;
o private int month;
o private int day;
o private string firstName;
4. Write accessors for each of the declared class variables.
5. Override the class ToString method to return a string in the following format: FirstName + ',' + LastName + ',' + PhoneNumber + ',' + Month + "," + Day
6. Add a TabControl to the form and size it so that it fills the form.
7. Name the first tabPage Entry.
8. On the Entry tabPage add four textboxes to take entry for a first name, last name, birth month, and birthday and add a MaskedTextbox to take entry for a phone number formatted as 999-9999.
9. Add an Enter Friend button which will process the entries made in the textboxes; writing each entry to a file and an Exit button which will exit the application.
10. Name the second tabPage Read.
11. On the Read tabPage, place a Read button which will read the file entries written to the file on the Entry tabPage, an Exit button that will call the Entry page exit button click event and a listbox that will display each entry read from the file when the Read button is clicked.
12. Name the third tabPage Reminder.
13. On the Reminder tabPage, place a textbox that will take an input for the birth month entries that will be displayed, a Reminder button which will read the file entries and display the file entries which have a month value that matches the value entered in the textbox, an Exit button that will call the Entry page exit button click event, and a listbox that will display each matching entry read from the file when the Reminder button is clicked.
14. At the Form level instantiate a Friend object and declare/instantiate a FileStream/StreamReader and a FileStream/StreamWriter object that will open a Friends.txt file with the FileMode set to OpenCreate, FileAccess set to Read, FileShare set to ReadWrite and FileMode set to Append, FileAccess set to Write and FileShare set to ReadWrite respectively.
15. The data entry button will extract the inputs from the textboxes on the Entry tab and will:
o Write the data as a comma delimited record to a .txt file using the Friend object ToString method you overrode in the Friend class; also display a messagebox that displays what was written to the file.
o Include a try-catch block that will display a messagebox with error message for any errors encountered in reading from the textboxes and writing to the file.
o Clear the write stream buffer.
o Clear entries in the textboxes.
16. The Read button will accomplish the following:
o Read the file and display in the listbox each record splitting out the fields, eliminating the comma delimiters and placing spaces between the fields.
o Reset the file position pointer to the beginning of the file for the next file read.
17. The Reminder button will accomplish the following:
o Take a text entry for the birth month to be searched for.
o Read the file and display in the listbox each record splitting out the fields, eliminating the comma delimiters and placing spaces between the fields.
o The birth month and day will be separated by a "/" when the record(s) is displayed.
o Reset the file position pointer to the beginning of the file for the next file read.
o Clear the entry in the textbox.
18. When clicking out of tabPage 2 and 3 which contain the listboxes clear the display contents of the listboxes.
19. When the application is terminated close all open FileStream objects.
Please provide the complete project folder for each project (not just the .cpp file), and document the code well.