- There is ko be a pocture box at the bop of the regiatration form displaying a prophic file relabd to theater of film. Beside this picture is 10 be a bordered label displaying the sctbool name in a font style and size other than the default. - Below this picture box and label should be a control that allows the wser to enter in the date the regiatration was recordal. The current date (from the computer's sydem clock) should be disylayed in this control by default. - On the form below this date conerol should be two groups of controls in group boxes labslod Registrant Information and Registration Iaformarive. stafus of the registrant. This will be specified via a combo box coetaining the following options (listed in this oeder): Actor, Producer, Director. Animater, Cincmatogripher, Drama Teacher, Light Technsician, and Sound Techuician. The data is fo come from an array declared in the foem lood event that has the data values shown above in an initialiontion list. (Code in the form load event is to add the values from the array to the combo box list.) Other values not specified here are to be allowed to be entered by the user if desired. When the program hegins, the combo box should not diyplay my value intil the user selects one from the fist of types one in - Registration Infoemation - The type of elasses that the registrant widhes to select froen is to be specified using two radio buttons, labelod Live Action atel Anination. Live Action should be selected by default at proyram startup. Each of these two clins types has its uwn list of available classes. Any registrael can stlect either elass type. bat a registriet ean enly select classes from ans of these two categoeies (sec elass lises below). The price per elass is 579.95 for Live Action type classes and 599.95 for Animation fope classes. A tist box is to be used to display the names of the mailable elasses. The label for this list box should inelude a noe that a maximum of four classes is allowed for a rcyiatration. (Hier: This limit is subjoct to change in the future. so a constant should be used to handle this value.) The user selection of the Live Action or Animation class type detenmines which class names display in the list box. (Chanping the class type radio butbon selection changes the class names that are draplayed in the list box.) The names of the Live Actice type clasoes asd Animation type elasses that are available are bo be read in form teul files instead of being "hard coded" in the program. (The text fillex are describod in moee detail on the las page. These text files can be edfted by Mr. Newman with Notepad if a change in the classes offered is desired in the future.). No slasses should initially be selected in the list box. The classes should be displayed in alphabetical order (even though the eptions are oot listed in that erder in the iest file) Te registration informatioe to display on the form also inclades three calculated values: the number of elasses selected, the price per elass foe the type of class selected, and the total price of the registration. These values should displiny correctly at program startap and automatically update as described below for the Update Tocals method. - Below the atove two greup boses, there should be two radio butions used to specify the pingment type for the registration: Cash or Cbeck. (These are the only two accepted forms of payment.) Cash should be selected as the The user is so check this box if the registrant would like a copy of their regiseration information cmailed to them. The check box should be unchesked by default at proyram starmp. - There is to be a menu bur on this onder form with two top-level mienus: File and Help. The File menu should have three menu items; Save, Clear, and Exit. The Help menu should have one menu item: About. There should be Access Keys for all of these menus and menu items. Shortcut Keys should be included for cach of the four menu items. For the four menu items, ToolTips should be included to provide brief descriptions of each item's purpose. - The Save menu item, when selected, should perform two significant actices: divplapitig a summary of the regisirzfile to be created by the program in the default teri Debug subfolder of the project folder The message bos should have appropeiate sext in iss title bar and stoald inclade as Infoemation icon. The message bou, strould display the following data, proserly latelest with ees data item per line, a header line (ez. Registration Summary), rogistration date; registrant name (first namo, and last name ce one linek: email aditress; date of birth: stanus; classes selocted (with cact class name on a separale line); mumber of classes selected; price per class; keal registracion price; payment type (Cash or Chock), email receipt regactod (Yes of No) The text file should include the same data as is cisplayed in the message box, following the format describod above. A Blank line should be added to the end of cach togistration's informatson be separale the registrations in the file (Note thar it is necessary to acsend all data that is writien to the iext file to any existing data there.) After the registration data has been written to the text file, the form should be cleared and returnod to its eripinal startup state (ready for rocordiag the nest registration) - Howeve, when the Save menu item is elicked, if the repistrant's first name or last name or emal address has becin left blank, of if the date of birth entry is incoenplete, the program should display an error message explaining that selected or if more thas four elasses lave becn selected, the program should display an error meswage explaining. bos should have apprepriate title bar fort and an firer boon. - The Clear mens sem, when selocted, should clear the form and return it to its cetiginal startup state (without saving). - Tbe Exit mena ifem, when sclocted, should close the program. However. before slosing the poogram, the user should be poomplod with a confirmation meseage bos asking. "Are you sure you wish to exit the program?" This message box sbould bave Yes and No butions. It should also have appropeiaite text in its title bar and sbould include a Question icon. Only if the ewer sclects Yes should the program end. - The Aborat menu inem, whea selected, should displary a form that is an instance of a class that you have ereated. (Note that it is necescary to agpend all duta that is written to the fout file to anty existing dnta there.) Afler the registration data has been writien to the iext file, the form should be cleared and returned to its original startep state (ready for recording the next registratioe). - However, when the Save mesa item is clicked, if the rogistrant's first name or last name of cmail address has bees left blank, of if the date of birth entry is incompleie, the propram should display an arror message explaining that have appropriate title bar text and an Error icen. Alyg when the Save menu item is clicked, if no classes have been selected of if more than four classes have been selactod, the program should display in error message explaining box should have appropriate title bar text and an Emor icon. - The Clear menu iem, when selected, should elear the foem and rotum it so its eriginal startup stase (withoul saving). - The Exit menu item, when selected, should close the program. However, before elosing the program, the user should be prompted with a confirmation message bes asking, "Are you sure you wish to exit the progran?" This message box sbould have Yes and No buttons. It should alse lave appropriafe text in its title bar and shoold include a Question icon. Only if the user selects Yes should the program and. - The About mena isem, when selected, should diggliy a form that is an instance of a classis that you bave created. Name this new class AboutForm. The form should coestain a PicturelBox control that displays a sraphic image related to theater or film (different from the graphic displayed ce the original form), a label containing the copynght dale (2023) for this project and your name as the pnogrammer, and a Close buthon that, when clicked, closes the form. Include an Access Key and a ToolTip for this bston. This form must be closed before the registration form can again be interacted with by the user. - Three cusfom methods must be includod in your code. One, namod Popalateliat, sbould be asced lo load data from the external text files ieto the classes list box (as doscribod above). This method should initially be called from the form load eveat, and then called each time a class type radio bunve (Live Action or Asimation) is selected (to load the appropriate class marnes into the list box). The secoed costom method, mamed UpdafeTotals, is to handle the task of updating the three controls on the foem that displyy the number of classes selectied, the price per class for the type of class selected, and the total price of the registration. (The sotal price is simply the price per class maltiplied by the number of classes selected. There is no sales tax.) These three values will need to be updated any time the user eharyes the type of elass selected (Live Action of Animatioa) ar changes the classes selected in the list box. The thind custom method, named ResetFoem, will perform the form clearing and resetting actions required by use of the Save and Clear menu itcms described above. - Appropriate use of the Try-Canch structure should be made to handle any potential inpot output exceptions. - The fab onder should be set correctly so that focus flows logically through the conirols on the registration form. - You are to give meaningful names to all controls ased en the forms, and all constants and variables usod in your code. Follow standard Cer traming conventions, as dsscribed in your textbook: - Use appropriare labels for your controls no ckearly istutify them, and use appropriane toxt in the title bar of both farms in the project. - The alignment, spacing, and sizing of all screen coetrots shoold be neat and professional in appearance. - When the progeram runs, the forms should display in the center of the sereen. - Data that represents currency values should be divplayed with the coerect currency format. - Data representing numeric values, including currency values, should be displayed right-aligned in controls, while text values (such as names) should be displayed liff-alignod in conecrols. - Use comments very liberally throughout your code, foe caclr event bandler and custom method, and each significant block of code. - Include an instial four-line coennent in your code for boch form classes, before all oeher code, asing the same format specifiod in the instructions for the provioss assignments. (lnclade the tume of the form class in the Description line of this comment.) shown). (Do nos write code in your program to create these files). These two files should be named as showis below, and placed by you is the bin Debug subfolder of your project folder: The coelents of the LiveletionClasses - txt file should be, with one item per line: Screenwriting Cinematograplyy Special Effects sound Denign Lighting Casting Directing Producing Set Construetion The contents of the AnimationClasses . Ext file should be, wath one inem per line: 20 Animation 30 Animation ratte Painting Digital Editing Character Design storyboarding stop Motion Partiele Dymanics Fexturea