download - visual c# programming basics

Post on 26-Jan-2017

230 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

;

InthistutorialyouwilllearnhowtomakeapplicationsforWindowsinC#.YouwilllearnhowtouseVisualStudiotobuildsimpleapplications,howtousemostoftheWindowsFormscontrols,andseveraltipsonhowtopublishyourapplication.

MadebyDavideVitelaru

VisualC#ProgrammingBasics

http://davidevitelaru.com/

2 VISUALC#PROGRAMMINGBASICS

VISUALC#PROGRAMMINGBASICS 3

GeneralRequirementsTofollowthistutorialyouwillneedthefollowingitems:

‐Knowingthebasicsofatleastoneprogramminglanguage(Toknowwhatvariables,arrays,functions,etc…are)‐AcomputerrunningWindowsXP/Vista/7‐MicrosoftVisualC#Express(Clickfordownload)

YoucanalsouseMicrosoftVisualStudioProfessional,butthisisacommercialversionoftheVisualC#Express,andithasmorefeatures.Wewillnotusemostoftheminthistutorialthough.

Ifyouareinterestedinsomespecificpartofthistutorial,checkoutthetableofcontentsonthelastpagebecauseyoumightfindwhatyouarelookingfor.

QuickStart–YourfirstapplicationInthischapter,youwilllearnhowtomakeanapplicationinVisualStudiofromstarttofinish.Howtocodeit,designitandpublishit.

Step1–CreatingtheprojectTostart,openVisualC#ExpressorVisualStudioandcreateanewprojectbypressingonthe“NewProject”iconintheupperleftcorner.

Inthewindowthatopensyoucanselectyourprojecttype,dependingonwhatyouwanttoprograminC#.TomakeasimpleWindowsapplication,select“WindowsFormsApplication”,nameyourproject“Calculator”(becausethisiswhatwearegoingtodo)andpress“OK”.

4 VISUALC#PROGRAMMINGBASICS

Younowcreatedanewproject.YoumightgetallscaredbyVisualC#’sinterfacebecauseitisverycrowdedandyoudon’tknowwhatmostofthecontrolsdo.Let’stakealookattheinterfaceforabit:thefirstthingthatpop’sintoyoureyesistheformrightinthemiddle.Itisanemptyformandwhatyouhavetodoistotakecontrolsfromthe“Toolbox”,thepanelfromtheleft,andputthemonit.

Youcanseedifferenttypeofcontrolsinthe“Toolbox”:buttons,textboxes,progressbars,andyoucantakeallofthemandplacethemonyourform.Don’tplaceanythingonyourformnow,ifyoudid,selectthemanddeletethem.

Ontherightyouhaveyour“SolutionExplorer”.Whenyoucreateanewproject,youautomaticallycreateanewsolution.Asolutionisacollectionofmultipleprojects,let’ssaywemakeanapplicationcalled“Calculator”(causethisiswhatweactuallydo),and“Calculator”isanapplicationprojectinsidethe“Calculator”solution.Ifwewanttocreateasetupfor“Calculator”,wecreatethesetupprojectinsidethesamesolution.Youwilllearnwhateverythinginthesolutionexplorermeanslater.

Step2–DesigningtheformWhatwewanttocreateisasimplecalculatorapplication.Whatitwilldoistoaddtwonumbersinsertedbytheuser.Tostart,wewillneedthreetext‐boxes:Twoforthetwonumbersthattheuserwantstoaddandthethirdfortheresult.Wewillalsoneedabuttonsothattheusercanpressitandreceivehe’sresult.

Todoallthis,clickonthe“TextBox”controlinthetoolbox,andthenclickonyourform.Asyoucansee,atextboxappearedonyourform.Repeatthisstepagainandcreatetwomoretextboxes.AlignthetextboxesthesamewayIdid:

VISUALC#PROGRAMMINGBASICS 5

Now,selectthebuttoncontrolfromthetoolboxandcreateabuttonontheform.

Good,wenowcreatedallthecontrolsweneedforourapplication.But,thereisaproblem,whyisthebuttonnamed“Button1”?Becausethisishowitisbydefault,tochangethat,weneedtochangeitsproperties.Bydefault,thepropertieswindowisnotopenedinVisualC#.Toopenit,goto“View”andclickon“Properties”.

Thepropertiespanel(obviously)showstheselectcontrolsproperties,suchasheight,width,color,text,etc…Inthiscase,weonlyneedtochangethetextsincethebuttoncanberesizedwithusingthemouse.Clickonthebutton(Makesureyoudon’tdoubleclickit,oritscodewillopen.Ifthathappens,closethetabwiththecodefromthetopofthemiddle‐panel).Onceclicked,thebutton’spropertieswillappearinthe“Properties”window.Scrolldownandgoto“Text”.Toitsrightyouwillsee“Button1”.Changethatto“Add”,andpressenter.

6 VISUALC#PROGRAMMINGBASICS

Yourbuttonnowhas“Add”writtenonit.Verygood,thiswayyoucanediteveryitem’sproperties,eventhetextboxes’.

Also,youmightnoticethattheform’snameis“Form1”.Trytodosomethingaboutit.

HowTo:Clickonanemptyspaceontheform,changetheform’stextpropertyto“Calculator”.

Step3–DebuggingtheapplicationOfcourse,weaddedthecontrolsonourform,butthebuttondoesn’tdoanythingsincewedidn’t“tell”itdotoanything.Youcanseeyourprogramrunningbypressingthe“Debug”button,thegreenarrowinthetoolbar( ).Whenyouclickthedebugbutton,youapplicationwillstart.Itshouldlooksomethinglikethis:

Youprobablytriedtoclickthebuttonalready,andnoticedhowwellheisdoinghisjob.Debuggingisthebestmethodtotestyourapplicationbeforepublishingit.Everytimeyoumakeachangetoit,youdebugittoseeifitworked.Onceyoufinishtheapplication,youbuildtheentireprojectturningeverythingintooneexecutable,andprobablymakeasetupforyourapplication.

Step4–CodingtheapplicationTomaketheapplicationwork,youobviouslyhavetowritesomecode.Ifyouarestilldebuggingyourapplication,closeitandgobacktoyourproject.Now,double‐clickonyourbuttontoopenthecodewindow.Asyoucansee,everythingistabbedintheproject.Youcanalwaysgobacktotheformdesignerbyclickingitstabonthetop.

Withalltheamountofcodethatyouhaveinfrontofyou,youmightgetscared(again!).Don’tworryyouwillgetusedtoit,andtoevenmorethanthat.Ifyouarereadingthistutorial,let’shopeyoualreadyknowthebasicsofanotherprogramminglanguage,ifnotitwillbehardforyoutosearchWikipediaforeverywordyoudon’tunderstand,butitwouldbeuseful.

Thefirststatementsinthecodeimportsomeitemsfromthe.NETFramework.Whatisthatyoumightask,the.NETFrameworkisalargelibraryofcodedsolutionstocommonprogrammingproblemsthatmanagestheexecutionofprogramswrittenspecificallyfortheframework.Tobeclearer,itisalarge

VISUALC#PROGRAMMINGBASICS 7

amountofcodealreadywrittenforyou,soyoucanbuildprogramswithaprettyuserinterfaceandotherthings.Ithelpsyouverymuchbecauseitreducestheamountofthingsthatyouneedtolearntocreatetheentireuserinterface.WeshouldallthankMicrosoftforit:

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;

By“importsomethings”fromthe.NETFramework,Imeantimportingsomeclasses.Thoseclassescanbetheforms,theusercontrols,andalltheotherthingsthathelpedusbynowcreatingtheprogram.Youwilllearnthemeaningofthemlater.

Fornow,let’sseetherestofthecode:

namespace Calculator { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } } }

The“public Form1()”statementisaclassthatisexecutedwhenwestarttheprogram;actually,whenweopentheformnamed“Form1.cs”(“.cs”isfromCSharp).Incaseyoudidnotknow,inC#thecodeisusuallyputbetweencurlybracesjustlikeinJavaandC++.

The“private void button1_Click(object sender, EventArgs e)”isthatclassthatisexecutedwhenweclickthebutton.Insideit,wewillwritethecodethatwilladdthetwovaluesfromthetextboxes.

Note:InC#,twoslashes(//)representsthebeginningofacomment.Acommentisapieceofcodethatisnotexecutedbythecompiler,itisusedtohelpyouorganizeyoucode,andsothatotherprogrammerswillunderstandwhateverypieceofcodemeans.Wewillusecommentsinsideourcodesforbetterexplanation.

Tomakethatbuttonaddthetwovaluesandreturnthesumweneed,wehavetograbthetextcontentfromthetwotextboxes,turnittointegers,addthem,andchangethetextofthethirdtextboxtothesum.Itisverysimple:

double val1, val2; //We declare two double type variables //We assign to the first variable the value of the text box //Since the text box cand hold a string, it must be converted //to a double to assign it to "val1".

8 VISUALC#PROGRAMMINGBASICS

//Note that we assign using “=” as an operator val1 = Double.Parse(textBox1.Text); //Double.Parse("string") converts the string put into the brackets //and assigns it to a double //Same thing for the second variable val2 = Double.Parse(textBox2.Text); //Now we are doing the exact oposite, we take the two //double values and we convert their sum to a string //using the .ToString() command textBox3.Text = (val1 + val2).ToString();

Nowthatwefinishedyoumightwanttodebugyourprojectandseeifitworks.

Whatwedidiseasytoexplain;wedeclaredtwovariablesandassignedthevaluesofthetwotextboxesafterweconvertedthemfromstringstointegers.Then,wechangedthetextofthethirdtextboxintothesumofthetwovariables,andweconvertedittoastringinthesametime.Andwedidallofthisattheclickofabutton.

Step5–PublishingyouapplicationWhatyouhavetodoistocreateaniconforyourapplication,changeitspublishingsettingsandmakeasetupforit,butwewillskipthesestepsastheyarenotrelatedtobasicC#programming.

Note:Checkoutthe“AdvancedVisualC#Programming”tutorialonceyoufinishthisone.

UnderstandingVisualC#Great,nowthatyoumadeyourfirstapplicationyoucangoevendeeperintoC#andunderstandhowmostthingswork,andsomeextrathingsthatwillmakeyourapplicationworkbetter.

ControlnamesFirstofall,oneimportantthingthatyouhavetoknowisthateveryitemonyourformhasaname.AndIamnottalkingabout“TextBox”or“Button”,butabouttheir“Name”property.

VISUALC#PROGRAMMINGBASICS 9

Gobacktoyourformsdesignerandclickonthefirsttextbox.Inthepropertywindow,youwillseethatitsnamepropertyis“textBox1”.Inourpreviouscode,wetookthevaluefromthistextboxbythefollowingmethod:

val1 = Double.Parse(textBox1.Text);

Howdoesthiswork?Let’sforgetabouttheconversionforafewseconds,andseewhatweactuallyassignedtothevariable(consideringthatthetextboxalreadyholdsadoublevalue).

val1 = textBox1.Text;

Weassignedthespecificpropertyofacontroltoavariable.Thecorrectsyntaxis:

variable = control.property;

Thisishowitalwaysworks.Ofcourse,wecandotheexactoppositeandassigntothecontrol’spropertyacertainvariablejustlikewedidearlier:

textBox3.Text = (val1 + val2).ToString();

Thenamesareusedtodistinguishbetweenthecontrolsontheform.

Youcandothesamethingwithbuttons,justclickonabutton,andchangeitsnameproperty.Itisrecommendedthatyourenameyourbuttonssothatyouknowwhateachofthemdoes.

EventsandclassesWhenyoudoubleclickabutton,youareautomaticallyredirectedtoyourcodewhereanewfunctionappears.Thatfunctionwillbeexecutedwhenyouclickthebutton.Youcanrunanyotherfunctionwhenyouclickthebutton,allyouhavetodochangetheeventthatoccurswhenyouclickit.Todothat,gotoits

propertywindow,andclickonthe“Events”button( ).Ontheleftsideofthetablethatjustappearedbellowyouwillseetheevents,andontherightsideyouwillseewhathappens(Whatfunctionisexecuted)whenthateventoccurs.

Asyoucansee,whenweClickthebutton,thebutton1_Clickfunctionisexecuted.Thatfunctionhasbeenautomaticallywrittenforyouwhenyoudouble‐clickthebutton.Ofcourse,thesamefunctioncanbeexecutednomatterwhateventoccurs,forexample,gototheMouseHoverevent,andtypebutton1_Clicktoitsleft.Fromnow,youdon’thavetoclickthebutton,allyouhavetodoisplacethecursoraboveitandthebutton1_Clickfunctionwillrun,addingthetwonumbers.

Youcanalsodeclareanewfunctiontodothejob,andcallitwhenyouclickthebutton.Typesomewherebelowthebutton1_Clickfunction:

double AddNumbers(double val1, double val2) { }

ThisishowwedeclareanewfunctioninC#.Thecorrectsyntaxis:

10 VISUALC#PROGRAMMINGBASICS

value_returened function_name(parameter_type parameter_name) { code }

TheAddNumbersfunctionwillreturnthesumofthetwonumbers.Typeinsidethetwocurlybraces:

return val1 + val2;

“return”isusedtospecifywhatvaluethefunctionwillreturnwhenitiscalled.Tocallthisfunction,deletethecodeinthebutton1_Clickfunctionandtype: private void button1_Click(object sender, EventArgs e) { double val1 = double.Parse(textBox1.Text); double val2 = double.Parse(textBox2.Text); textBox3.Text = AddNumbers(val1, val2).ToString(); }Asyoucansee,wecanassignavaluetoavariablewhenwedeclareit.WeusedtheAddNumbersfunctiontoaddthetwonumbers.Howdoesthiswork?

Form1

Buttonisclicked

2

2

4

button1_Click–Functionisexecuted:

val1val2

AddNumbers(val1,val2)

returnval1+val2

VISUALC#PROGRAMMINGBASICS 11

Notehowthebutton1_ClickfunctionpassesthevaluestotheAddNumbersandthenassignsthemtothethirdtextbox.

Debugyourapplicationandyouwillnoticethatitwillwork.Thebestpartinusingfunctiontodoyourjobisthatyoucanusethemmultipletimeswithoutyouhavingtowritethesamecodealloveragain.

Ifyouhavetoomanyfunctions,yousourcecodemightgetreallycrowded.Inthiscaseyoumightwanttocreateaclasstoholdalloftheminoneplace.

Tocreateaclassinyourproject,rightclickonyourprojecticoninthe“SolutionExplorer”andaddanewclass:

Nameit“Calculator.cs”.Onceyoucreateit,itwillappearinthesolutionexplorer,itwillautomaticallyopen,andyouwillhavethis:using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Calculator { class Calculator { } }

Insidetheclass,cut/pastetheAddNumbersfunction,andchangethefollowingline: public double AddNumbers(double val1, double val2)

Wetyped“public”beforedeclaringthefunctionsowecanuseitoutsidethisclass.

Now,gobackto“Form1.cs”anddeclaretheclassrightontopoftheMainfunction:

Calculator Calc = new Calculator();

12 VISUALC#PROGRAMMINGBASICS

Thecorrectsyntaxis:

ClassName WhatNameYouWantToUse = new ClassName();

Nowthatwedeclaredtheclass,weneedtousethefunctionfromitnamed“AddNumbers”.Todothat,changethefollowinglineofthebutton1_Clickfunction:

textBox3.Text = Calc.AddNumbers(val1, val2).ToString();

Thisway,youcanusetheclassonmultipleforms.

Homework:Makeanewbuttonandanewfunctionnamed“MultiplyNumbers”,andmakeitmultiplythetwonumberswhenthebuttonispressed.

Note:tomultiplytwonumbersinC#,youcanusethe“*”operator.(“­tosubtract,and\todivide”).

Trydoingitbyyourselfbeforereadingthecode.

Code:

Calculator.cs

public double MultiplyNumbers(double val1, double val2) { return val1 * val2; }

Form1.cs

private void button2_Click(object sender, EventArgs e) { double val1 = double.Parse(textBox1.Text); double val2 = double.Parse(textBox2.Text); textBox3.Text = Calc.MultiplyNumbers(val1, val2).ToString(); }

VISUALC#PROGRAMMINGBASICS 13

SolutionsandProjectsItistimetolearnhowthesolutionexplorerworks.

FiletypesAllyouhavetocareaboutinthesolutionexploreraretheforms,classesandreferences.

Theformshavethefollowingicon: andtheyareactuallyacollectionoftwoclasses,onehandlesthedesignbutyoudon’twriteinthatfile,insteadyouarrangethecontrolusingthedesignerthatwritesthecodebyitselfinthedesignerclass,andtheotheroneisthecodeclass.Right‐clickingontheformiconwillgiveyoutheoptiontoopeneitherthecodeorthedesigner.

Theclasseshavethefollowingicon: andtheyarejustindependentfileswithcode.“Program’s”isthemainclassofyourproject,andyoumustnotmodifyit.

Thereferencesareallinsidethisfolder: ,andtheyusuallyrepresentthepiecesofthe.NETFrameworkthatyouareusing.Also,ifyouareusinganyotherclasslibraryitwillappearthere.

Resourcesusuallyrepresenttheimagesthatyouimportedintoyourproject.Theycanbefoundallinthisfolder: .

FilesystemYoumightaskyourselfafteryouworkatanapplication“Whereexactlyismyapplication?”.Tofindtheexecutablecreatedasaresultofyoubuildingyourproject,gotoyourdocumentsfolders,in“VisualStudio2008”(Dependingontheversionyouhave)andgoto:

Projects/<ProjectName>/<ProjectName>/bin/Debug/<ProjectName>.exe

OtherprojecttypesThischapterisnotthatimportantandyoucanskipitifyouarenotinterestedinothertypesofprojects.

WindowsAsyouhavenoticedwhenyoucreatedanewproject,therearemanyothertypesofprojects.ThisiswhatwehaveintheWindowscategory:

The“WindowsFormsApplication”projectiswhatwepreviouslymade.Itisjustasimpleapplicationwithauserinterface.Ontheotherhand,the“ConsoleApplication”isasimpleC#applicationprojectwithouttheuserinterface,itworksinsidetheconsole.

14 VISUALC#PROGRAMMINGBASICS

The“ClassLibrary”isactuallyaprojectfullofclasses.Onceyoucompiletheproject,youwillendupwitha“.DLL”file(DynamicLinkLibrary).Youcanaddthatfileasareferencetoyourprojectsoyoucanusetheclassesinsidethelibrary.

Theotherprojecttypesareadvancedandyouwilllearnwhattheyaregoodforattherighttime.

WebTherearealsoothercategoriesofVisualC#projecttypes:

Webprojects–TheseareforASP.NETWebDevelopers:

SilverlightSilverlightdevelopment–IncaseyouwanttoprogramSilverlightapplications:

XNAGamesAlso,lastbutnotleast,XNAprojectsforgame‐makingusingC#:

Forthelasttwoprojectcategoriesyoumustinstallplug‐ins.Don’tworry,theyarefreetodownloadfromtheinternet,howyouwilllearntousethemisthebiggestproblem.

SetupProjectsIncaseyouhaveVisualStudioProfessionalinstalled,under“OtherProjectTypes”in“SetupandDeployment”youhavethis:

Thesetupprojectistheeasiestwaytocreateadecentandcustomizablesetupforyourproject.

VISUALC#PROGRAMMINGBASICS 15

VisualC#SyntaxThischapterwillshowyousomebasicC#codefordoingdifferentoperations.

Variables&Operations string MyString = "123456"; int MyInt = 24; double MyDouble = 15.6; MyString = "dav"; //Simple assigning MyString = MyDouble.ToString(); //Double to string conversion; //Int to string to double conversion MyDouble = double.Parse(MyInt.ToString()); //This is because you need a sting between thos brackets. MyInt = Int32.Parse(MyDouble.ToString()); //Same here; MyInt += 1234; //This is the += operation, that means you //assign to "MyInt" MyInt + 1234; //Equivalent: MyInt = MyInt + 1234; MyDouble = double.Parse(MyInt.ToString()) + 15;

Loops bool ok=true; // boolean can hold true or false values int i = 0; //while... do loop while (ok==true) { i++; //This adds one unit to i if (i==1000) ok=false; } //for loop for (i=0; i<=1000; i++) { if (i == 5000) break; //break is used to end the loop }

Decisions //if ... then condition int i = 4; bool ok=false; if (i / 2 == 2) { ok = true; } else { i++; } string String = "1234"; //Notice that C# is case-sensitive

16 VISUALC#PROGRAMMINGBASICS

//This is the switch-case command //it works like multiple if's switch (String) { //This happens when no other value works default: break; //In CASE String is "12345", this is what happens case "12345": { i=1; break; //Always remember to break } case "412": { i = 4; break; } }

FileOperationsusing 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.IO; //Notice how we are using the system IO for file operations namespace Calculator { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string FilePath="C:\\Users\\Bubby\\Documents\\1234.txt"; //Remember to use \\ instead of \ because it will throw you an error //Writing to files StreamWriter Name = new StreamWriter(FilePath); Name.WriteLine("First line"); Name.Write("Second line, but not ended"); Name.Close(); //NEVER forget to close //Reading from files StreamReader OtherName = File.OpenText(FilePath); string Something = OtherName.ReadLine(); //Reading a line string AllContent = OtherName.ReadToEnd(); //Reading everything to end OtherName.Close(); }

VISUALC#PROGRAMMINGBASICS 17

WindowsFormsControlsInthischapteryouwilllearnhowtousemostofthecontrolsthatyoucanfindinyourtoolbox.Wearestillgoingtoworkonthecalculatorprojectuntilwereachsomecontrolthatwecan’tuseinsuchaproject.Also,keepinmindthatyouwilllearntousesomeeasycontrolinthischapter,formoredifficultcontrols,seethe“AdvancedVisualC#Programming”tutorial.

FormsThisisamust‐readitembecauseyouwillneedtoknowhowtomakeyourformlookbetter.Forstart,ourmainformincalculatornamed“Form1”isresizable,evenifithasonly4controlsinit.Onceyouresizeit,itlooksuglysogotoitspropertiesinFormBorderStyleandchangeitto“FixedSingle”.Thiswayyoucan’tresizeitanymore.

Eventhoughyoucan’tresizeit,youcanstillmaximizeit(annoying,isn’tit?)sogotoitsMaximizeBoxpropertyandchangethattoofalse.

Incaseyouwanttomakeandapplicationwithmultipleforms,gotoyourproject,rightclickandaddanew“WindowsForm”.

Still,thefirstformthatwillopenisForm1so,ifyouwanttoopentheotherform,makeanewbutton,andonitsClickeventwrite:

private void button2_Click(object sender, EventArgs e) { Form2 NewForm = new Form2(); NewForm.Show(); }

Ofcourse,thisworksincaseyourformisnamed“Form2”andyoucannamethevariableafteritthewayyouwant.Thisisjustlikedeclaringaclass.

Toclosetheformyou’rein,type“Close();”,butthiswillalsocloseyourapplicationifyouareinyourmainform.Ifyoujustwanttohideit,use“Hide();”.

LabelsLabelsarejustpiecesoftextthatyouputonaformtoguidetheuser.Inyour“Calculator”project,drag3labelsonyourform.Fromthepropertywindowsyoucanchangetheircolor(ForeColor)theirtext(Text),theiralignment(TextAlign),font(Font),andmanymore…

CheckBoxAcheckboxisusuallyusedtocheckifanoptionisenabledornot.Inthiscasewecanuseittoenable/disablethe“Add”button.

Dragacheckboxonyourform.Thendouble‐clickonittoopenthefunctionthatoccurswhenit’scheckischangedandtype:

private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked == true) { button1.Enabled = true; } else

18 VISUALC#PROGRAMMINGBASICS

{ button1.Enabled = false; } }

Thiswilldisablethebuttonifitisuncheckedandenableitifitischecked.Asyoucansee,the“.checked”propertyisaBooleantypevariable.

ComboBoxesTheseareusuallyusedtoselectoneitemoracertainoption.Inthiscasewewilluseittochoosewhetherweaddormultiplythenumbers.Draganddropanewtextboxonyourform,andclickonthearrowintheupperrightcorner(thatisinsidearedsquareinthepicture)andclick“EditItems”:

Thenaddtheitemsyouwouldlikeinthewindowsthatopens.

Wecanuseitbycheckingifitsvalue(Textproperty)is“Add”or“Multiply”whenclickingthebutton:

private void button1_Click(object sender, EventArgs e) { double val1 = double.Parse(textBox1.Text); double val2 = double.Parse(textBox2.Text); if (comboBox1.Text == "Add") { textBox3.Text = Calc.AddNumbers(val1, val2).ToString(); } else { textBox3.Text = Calc.MultiplyNumbers(val1, val2).ToString(); } }

LinkLabelThelinklabelisbasicallyasimplelabelthatcanbeclickedjustlikeabutton.Themaindifferenceisthatthecursorchangeswhenyouhoveronitsotheuserknowsthatitcanbeclicked.

PictureBoxTochangethepictureofapicturebox,gotoitspropertiesin“Image”.Irecommendchangingit’sbackgroundimageinsteadoftherealimagethatit’sholdingsinceitcanbestretchedandtiled,butinthiscaseyoucoulduseapanelforthisjob.

RadioButtonsRadiobuttonsworkjustlikecheckboxes,butitdoesn’tallowyoutohavemorethanoneoptionselected.Fortunately,ifyouaddmoretotheform,onlyoneofthemcanbecheckedatonce.

Ifyouwantmoreradiobuttonsbutforsomethingdifferent,justmakeanewpanelandputthemintheresothattheywon’tun‐checkwhenyouclicktheotherbuttons.

VISUALC#PROGRAMMINGBASICS 19

ContentsGeneralRequirements...............................................................................................................................................................................................3

QuickStart–Yourfirstapplication .....................................................................................................................................................................3

Step1–Creatingtheproject .............................................................................................................................................................................3

Step2–Designingtheform ...............................................................................................................................................................................4

Step3–Debuggingtheapplication ................................................................................................................................................................6

Step4–Codingtheapplication ........................................................................................................................................................................6

Step5–Publishingyouapplication................................................................................................................................................................8

UnderstandingVisualC# .........................................................................................................................................................................................8

Controlnames ..........................................................................................................................................................................................................8

Eventsandclasses..................................................................................................................................................................................................9

SolutionsandProjects............................................................................................................................................................................................ 13

Filetypes ................................................................................................................................................................................................................. 13

Filesystem.............................................................................................................................................................................................................. 13

Otherprojecttypes .................................................................................................................................................................................................. 13

Windows.................................................................................................................................................................................................................. 13

Web............................................................................................................................................................................................................................ 14

Silverlight ................................................................................................................................................................................................................ 14

XNAGames ............................................................................................................................................................................................................. 14

SetupProjects ....................................................................................................................................................................................................... 14

VisualC#Syntax........................................................................................................................................................................................................ 15

Variables&Operations ..................................................................................................................................................................................... 15

Loops......................................................................................................................................................................................................................... 15

Decisions ................................................................................................................................................................................................................. 15

FileOperations ..................................................................................................................................................................................................... 16

WindowsFormsControls ..................................................................................................................................................................................... 17

Forms........................................................................................................................................................................................................................ 17

Labels........................................................................................................................................................................................................................ 17

CheckBox................................................................................................................................................................................................................ 17

ComboBoxes ......................................................................................................................................................................................................... 18

LinkLabel................................................................................................................................................................................................................ 18

PictureBox ............................................................................................................................................................................................................. 18

RadioButtons........................................................................................................................................................................................................ 18

top related