270 likes | 289 Views
Learn C# basics and create Windows form applications using Visual Studio 2012. Understand controls, events, properties, and more.
E N D
C# Introduction ISYS 350
Visual Studio 2012 Demo • Start page: New project/ Open project/Recent projects • Starting project: • File/New Project/ • C# • Windows • Windows form application • Project name/Project folder • Project windows: • Form design view/Form code view • Solution Explorer • View/Solution Explorer • ToolBox • Property Window • Properties and Events • Server Explorer • Project/Add New Item • Property window example
Introduction to C# • Event-driven programming • The interface for a C# program consists of one or more forms, containing one or more controls (screen objects). • Form and controls have events that can respond to. Typical events include clicking a mouse button, type a character on the keyboard, changing a value, etc. • Event procedure
Form • Properties: • Name, FormBorderStyle, Text, BackColor, BackImage, Opacity • Events: • Load, FormClosing, FormClosed • GotFocus, LostFocus • MouseHover, Click, DoubleCLick
Common Controls • TextBox • Label • Button • CheckBox • RadioButton • ListBox • ComboBox • PictureBox
Text Box • Properties: • AutoSize, BorderStyle, CauseValidation, Enabled, Locked, Multiline, PasswordChar, ReadOnly, ScrollBar, TabIndex, Text, Visible, WordWrap, etc. • Properties can be set at the design time or at the run time using code. • To refer to a property: • ControlName.PropertyName • Ex. TextBox1.Text • Note: The Text property is a string data type and automatically inherits the properties and methods of the string data type.
Typical C# Programming Tasks • Creating the GUI elements that make up the application’s user interface. • Visualize the application. • Make a list of the controls needed. • Setting the properties of the GUI elements • Writing procedures that respond to events and perform other operations.
To Add an Event-Procedure • 1. Select the Properties window • 2. Click Events button • 3. Select the event and double-click it. • Note: Every control has a default event. • Form: Load event • Button control: Click event • Textbox: Text Changed event • To add the default event procedure, simply double-click the control.
Demo FirstName LastName FullName .Control properties .Event: Click, MouseMove, FormLoad, etc. .Event procedures FullName: textBox3.Text textBox3.Text = textBox1.Text + " " + textBox2.Text; Demo: Text alignment (TextBox3.TextAlign=HorizontalAlign.Right) TextBox3.BackColor=Color.Aqua;
Demo Num1 Num2 Sum = .Control properties .Event: Click, MouseMove, FormLoad, etc. .Event procedures Sum: textBox3.Text = (double.Parse(textBox1.Text) + double.Parse(textBox2.Text)).ToString();
C# Project • The execution starts from the Main method which is found in the Program.cs file. • Solution/Program.cs • Contain the startup code • Example: Application.Run(new Form1());
Variable Names • A variable name identifies a variable • Always choose a meaningful name for variables • Basic naming conventions are: • the first character must be a letter (upper or lowercase) or an underscore (_) • the name cannot contain spaces • do not use C# keywords or reserved words • Variable name is case sensitive
Declare a Variable • C# is a strongly typed language. This means that when a variable is defined we have to specify what type of data the variable will hold. • DataType VaraibleName; • A C# statement ends with “;”
string DataType • string Variables: • Examples: string empName; string firstName, lastAddress, fullName; • String concatenation: + • Examples: fullName = firstName + lastName; MessageBox.Show(“Total is “ + 25.75);
Numeric Data Types • int, double, decimal • Examples: double mydouble=12.7, rate=0.07; int Counter = 0;
The decimal Data Type • In C#, the decimal keyword indicates a 128-bit data type (16 bytes). • Compared to double types, it has more precision and a smaller range, which makes it appropriate for financial and monetary calculations. • Be sure to add the letter M (or m) to a decimal value: decimal payRate = 28.75m; decimal price = 8.95M;
Inputting and Outputting Numeric Values • Input collected from the keyboard are considered combinations of characters (or string literals) even if they look like a number to you • A TextBox control reads keyboard input, such as 25.65. However, the TextBox treats it as a string, not a number. • In C#, use the following Parse methods to convert string to numeric data types • int.Parse • double.Parse • decimal.Parse • Examples: int hoursWorked = int.Parse(hoursWorkedTextBox1.Text); double temperature = double.Parse(temperatureTextBox.Text); Note: We can also use the .Net’s Convert class methods: ToDouble, ToInt, ToDecimal: Example: hoursWorked = Convert.ToDouble(textBox1.Text);
Explicit Conversion between Numeric Data Types with Cast Operators • C# allows you to explicitly convert among types, which is known as type casting • You can use the cast operator which is simply a pair of parentheses with the type keyword in it int wholeNumber; decimal decimalNumber = 4500m; wholeNumber = (int) decimalNumber; double doubleNumber; decimal decimalNumber = 625.70m; doubleNumber = (double) decimalNumber; DecimaNumber=(decimal) doubleNumber; Note: All variables come with a ToString() method. Note: We can also use the .Net’s Convert class methods
Example double num1; int num2; decimal num3; num1 = Convert.ToDouble(textBox1.Text); num2 = Convert.ToInt16(textBox2.Text); num3 = Convert.ToDecimal(num1) + Convert.ToDecimal(num2); num3 = (decimal)num1 + (decimal)num2; textBox3.Text = num3.ToString();
Performing Calculations • Basic calculations such as arithmetic calculation can be performed by math operators Other calculations: Use Math class’s methods.
Example int dividend, divisor, quotient, remainder; dividend = int.Parse(textBox1.Text); divisor = int.Parse(textBox2.Text); quotient = dividend / divisor; remainder = dividend % divisor; textBox3.Text = quotient.ToString(); textBox4.Text = remainder.ToString(); Note: The result of an integer divided by an integer is integer. For example, 7/2 is 3, not 3.5.
Change Machine to Return Smallest Number of Coins int changes, quarters, dimes, nickles, pennies; changes = int.Parse(textBox1.Text); quarters = changes / 25; dimes = (changes % 25) / 10; nickles = (changes - quarters * 25 - dimes * 10) / 5; pennies = changes - quarters * 25 - dimes * 10 - nickles * 5; textBox2.Text = quarters.ToString(); textBox3.Text = dimes.ToString(); textBox4.Text = nickles.ToString(); textBox5.Text = pennies.ToString();
FV = PV * (1 +Rate) Year double pv, rate, years, fv; pv = double.Parse(textBox1.Text); rate = double.Parse(textBox2.Text); years = double.Parse(textBox3.Text); fv = pv*Math.Pow(1 + rate, years); textBox4.Text = fv.ToString();
Formatting Numbers with the ToString Method • The ToString method can optionally format a number to appear in a specific way • The following table lists the “format strings” and how they work with sample outputs
Working with DateTime Data • Declare DateTime variable: • Example: DateTime mydate; • Convert date entered in a textbox to DateTime data: • Use Convert: • mydate = Convert.ToDateTime(textBox1.Text); • Use DateTime class Parse method: • mydate = DateTime.Parse(textBox1.Text); • DateTime variable’s properties and methods
DateTime Example DateTime myDate; myDate = DateTime.Parse(textBox1.Text); MessageBox.Show(myDate.ToLongDateString());
Comments • Line comment: // // my comment • Block comment: /* …… */ /* comment 1 Comment 2 … Comment n */