PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C# OBS viktigt! följ följande instruktioner så slipper du problem senare! Starta upp visualc# Välj Windows Forms Application Skriv namn använd uppgift_1_1 lektion1 uppgift1 uppgift_1_2 lektion1 uppgift2 osv. Skapa en mapp i roten på ditt nätverkskonto, proga_c# Välj arkiv "save all" Skriv in uppgift_1_1 avbockad Skriv in likadant efter ditt namn klicka på save VC#_lektion1_progA_c.doc sida 1
lektion 1 VC# är ett applikationsutvecklingsverktyg med programmeringsspråket är c#, gränssnittet är grafiskt och man arbetar hela tiden med grafiska objekt. Med det menas att man startar med en form (ett tomt blad) och placerar ut objekt på det (objekt kan vara knappar, textrutor, listor, bilder m.m.). Sedan tilldelar man händelser och egenskaper (t.ex storlek/färg/font) till objekten. Starta VC#08, new project, windows forms application, namnge det uppgift_1_1. Spara allt se ovan Spara alltid varje nytt projekt(uppgift) i en ny mapp. Det bör nu se ut ungefär så här. FORM KOMPONENTER uppgift_1_1 Ditt första projekt blir att lägga ut kommandoknapp, textrutor och etiketter, du drar komponenter ifrån paletten. VC#_lektion1_progA_c.doc sida 2
Ditt program ska fungera så att du matar in två tal i varsin textruta, när du sedan trycker på knappen ska talen multipliceras och presenteras i den tredje textrutan. Nu kan vi provköra vårt program med F5. Inget händer annat än att vår form visas upp, vi har ännu inte talat om för programmet vad som ska ske. Dubbelklicka på kommandoknappen och du kommer in i kodfönstret för default händelsen click, skriv in koden. private void btnrakna_click(object sender, EventArgs e) { double dbltal; dbltal = Convert.ToDouble(txtTal1.Text) * Convert.ToDouble(txtTal2.Text); lblsvar.text = Convert.ToString(dblTal); } De här raderna är proceduren som ska köras vid varje klick på knappen Convert.ToDouble gör om textsträngen till double så att det går att räkna med den. Convert.ToString gör om double till string så den kan visas i textruta. När du klickar på knappen ska talen i text1 och text2 multipliceras och visas i lblsvar Bygg ut med tre knappar för de övriga räknesätten. Lägg till en knapp för att rensa alla rutor ( txttal1.text = ). Vill du kommentera i koden använder du // eller /* (som i c++). Det som skrivs blir grönt och ses av programmet som kommentarer. VC#_lektion1_progA_c.doc sida 3
Extra bygg ut har tid string strdoubletal = dbltal.tostring("f4"); Sätter antalet decimaler till 4. string antaldecimaler; antaldecimaler = "F" + numud.value; Där numud är en numericupdown Lägg till så att du kan bestämma antalet decimaler. VC#_lektion1_progA_c.doc sida 4
uppgift_1_2 Skapa ett nytt projekt i en ny mapp. Vi ska nu göra ett program, som omvandlar svensk valuta till dollar. Vi lägger ut en fet rubrik VALUTA VÄXLARE Börja med att klicka på label och lägg ut i formen, label betyder etikett, vi använder den som rubrik i vårt program. Se till att label är markerad. Nu går vi till egenskapsfönstret och väljer teckensnitt, storlek, färg, text på label1. SPARA DITT ARBETE OFTA, TA BACKUP PÅ HELA PROJEKTMAPPEN Lägg till en picturebox och leta upp en bild till den. Wmf (clipart) vektorgrafik fungerar bra. Lägg till en knapp namnge "btnvaxla" Lägg till 2 textrutor, namnge txtsvenskakronor och txtkurs. Lägg till 4 labels, namnge den du ska skriva ut på i koden till lbldollar. Dubbelklicka på knappen och skriv dit kod. Du måste nu vara medveten om att ditt program inte klarar av felinskrivningar/tomma rutor m.m. Tom ruta kan vi hantera med följande kod, felhantering kommer vi till senare. if (txtsvenskakronor.text!= "") VC#_lektion1_progA_c.doc sida 5
Uppgift 2b. Bygg ut programmet till att samtidigt ge svar i 3 valutor, när du ändrar antal svenska kronor och klickar på knappen. uppgift_1_3 I de tidigare uppgifterna har vi haft en händelse kopplad till en knapptryckning. Det går att koppla händelser på flera sätt t.ex changed. Gör ett nytt program med en form med 2 textrutor, 1 label och en numeric UpDown, namnge komponenterna med prefixen txt lbl nud och namn som talar om vad dom gör. Markera alla komponenter gå in i egenskapen font och ändra till size 12 bold. Skriv kod så att det du skriver i en textruta visas i en label. Dubbelklicka på texten, skriv kod i händelsen txttest_textchanged Skriv kod så att när du ändrar i nudtest så visas det i en textruta. Ge nudtest egenskapen max 10 min 0 och startvärde 5. Dubbelklicka på nudtest, skriv kod i händelsen nudtest_valuechanged för att kunna visa heltalsvärdet i en text Convert.ToString(nudTest. Value) VC#_lektion1_progA_c.doc sida 6
Uppgift 3b. När du fått 3a att fungera bygg vidare i samma form. Lägg till en knapp och en richtextbox (btnadd och rtftest). Lägg i händelsen click på btnadd till kod så att det som står i översta txttest läggs till på ny rad i rtftest. Precis som i C++ kan du använda koden += txttest.text + "\n" Testa om det fungerar att dra in en MonthCalendar. Du bör efter det här passet kunna: Spara och öppna C# -projekt. Använda editorn till bl.a. skriva in kod och söka/ersätt Skapa kontroller, markera, ändra egenskaper. Infoga bild och ge programmet ett hyfsat utseende. Skriva enkel kod i händelserna klick(click) Hantera kontrollerna textruta, etikett, kommandoknapp och numericupdown. Räkna med heltal och flyttal. VC#_lektion1_progA_c.doc sida 7