using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Linq; public class MainClass { public static void Main() { int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var query = numbers.Aggregate((a, b) => a * b); } }
Author: coder
Use Aggregate on an array with tenary operator
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
public class MainClass{
public static void Main(){
int[] numbers = { 9, 3, 5, 4, 2, 6, 7, 1, 8 };
var query = numbers.Aggregate(5, (a,b) => ( (a < b) ? (a * b) : a));
}
}
[/csharp]
TextBox value validation Demo
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Label lblName; private System.Windows.Forms.Label lblAddress; private System.Windows.Forms.Label lblOccupation; private System.Windows.Forms.Label lblAge; private System.Windows.Forms.Button btnOK; private System.Windows.Forms.Button btnHelp; private System.Windows.Forms.TextBox txtName; private System.Windows.Forms.TextBox txtAddress; private System.Windows.Forms.TextBox txtOccupation; private System.Windows.Forms.TextBox txtAge; public Form1() { InitializeComponent(); this.btnOK.Enabled = false; this.txtAddress.Tag = false; this.txtAge.Tag = false; this.txtName.Tag = false; this.txtOccupation.Tag = false; this.txtName.Validating += new System.ComponentModel.CancelEventHandler(this.txtBoxEmpty_Validating); this.txtAddress.Validating += new System.ComponentModel.CancelEventHandler(this.txtBoxEmpty_Validating); this.txtOccupation.Validating += new System.ComponentModel.CancelEventHandler(this.txtOccupation_Validating); this.txtAge.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtAge_KeyPress); this.txtAge.Validating += new System.ComponentModel.CancelEventHandler(this.txtBoxEmpty_Validating); this.txtName.TextChanged += new System.EventHandler(this.txtBox_TextChanged); this.txtAddress.TextChanged += new System.EventHandler(this.txtBox_TextChanged); this.txtAge.TextChanged += new System.EventHandler(this.txtBox_TextChanged); this.txtOccupation.TextChanged += new System.EventHandler(this.txtBox_TextChanged); } private void InitializeComponent() { this.lblName = new System.Windows.Forms.Label(); this.txtName = new System.Windows.Forms.TextBox(); this.lblAge = new System.Windows.Forms.Label(); this.btnOK = new System.Windows.Forms.Button(); this.txtAge = new System.Windows.Forms.TextBox(); this.txtAddress = new System.Windows.Forms.TextBox(); this.lblAddress = new System.Windows.Forms.Label(); this.lblOccupation = new System.Windows.Forms.Label(); this.txtOccupation = new System.Windows.Forms.TextBox(); this.btnHelp = new System.Windows.Forms.Button(); this.SuspendLayout(); // // lblName // this.lblName.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left); this.lblName.Location = new System.Drawing.Point(8, 16); this.lblName.Name = "lblName"; this.lblName.Size = new System.Drawing.Size(92, 23); this.lblName.TabIndex = 0; this.lblName.Text = "Name"; // // txtName // this.txtName.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.txtName.Location = new System.Drawing.Point(112, 16); this.txtName.Name = "txtName"; this.txtName.Size = new System.Drawing.Size(176, 20); this.txtName.TabIndex = 5; this.txtName.Text = ""; // // lblAge // this.lblAge.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left); this.lblAge.Location = new System.Drawing.Point(8, 144); this.lblAge.Name = "lblAge"; this.lblAge.Size = new System.Drawing.Size(92, 23); this.lblAge.TabIndex = 3; this.lblAge.Text = "Age"; // // btnOK // this.btnOK.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right); this.btnOK.Location = new System.Drawing.Point(296, 16); this.btnOK.Name = "btnOK"; this.btnOK.TabIndex = 10; this.btnOK.Text = "OK"; this.btnOK.Click += new System.EventHandler(this.btnOK_Click); // // txtAge // this.txtAge.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.txtAge.Location = new System.Drawing.Point(112, 136); this.txtAge.Name = "txtAge"; this.txtAge.Size = new System.Drawing.Size(176, 20); this.txtAge.TabIndex = 8; this.txtAge.Text = ""; // // txtAddress // this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.txtAddress.Location = new System.Drawing.Point(112, 40); this.txtAddress.Multiline = true; this.txtAddress.Name = "txtAddress"; this.txtAddress.ScrollBars = System.Windows.Forms.ScrollBars.Both; this.txtAddress.Size = new System.Drawing.Size(176, 72); this.txtAddress.TabIndex = 6; this.txtAddress.Text = ""; // // lblAddress // this.lblAddress.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left); this.lblAddress.Location = new System.Drawing.Point(8, 40); this.lblAddress.Name = "lblAddress"; this.lblAddress.Size = new System.Drawing.Size(92, 23); this.lblAddress.TabIndex = 1; this.lblAddress.Text = "Address"; // // lblOccupation // this.lblOccupation.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left); this.lblOccupation.Location = new System.Drawing.Point(8, 120); this.lblOccupation.Name = "lblOccupation"; this.lblOccupation.Size = new System.Drawing.Size(92, 23); this.lblOccupation.TabIndex = 2; this.lblOccupation.Text = "Occupation"; // // txtOccupation // this.txtOccupation.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.txtOccupation.Location = new System.Drawing.Point(112, 112); this.txtOccupation.Name = "txtOccupation"; this.txtOccupation.Size = new System.Drawing.Size(176, 20); this.txtOccupation.TabIndex = 7; this.txtOccupation.Text = ""; // // btnHelp // this.btnHelp.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right); this.btnHelp.CausesValidation = false; this.btnHelp.Location = new System.Drawing.Point(296, 48); this.btnHelp.Name = "btnHelp"; this.btnHelp.TabIndex = 11; this.btnHelp.Text = "Help"; this.btnHelp.Click += new System.EventHandler(this.btnHelp_Click); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(376, 253); this.Controls.AddRange(new System.Windows.Forms.Control[] {this.btnHelp, this.btnOK, this.txtAge, this.txtOccupation, this.txtAddress, this.txtName, this.lblAge, this.lblOccupation, this.lblAddress, this.lblName}); this.MinimumSize = new System.Drawing.Size(384, 280); this.Name = "Form1"; this.Text = "TestBoxTest"; this.ResumeLayout(false); } static void Main() { Application.Run(new Form1()); } private void btnOK_Click(object sender, System.EventArgs e) { string output; output = "Name: " + this.txtName.Text + " "; output += "Address: " + this.txtAddress.Text + " "; output += "Occupation: " + this.txtOccupation.Text + " "; output += "Age: " + this.txtAge.Text; Console.WriteLine(output); } private void btnHelp_Click(object sender, System.EventArgs e) { string output; output = "Name = Your name" + " "; output += "Address = Your address" + " "; output += "Occupation = Only allowed value is 'Employee' or empty" + " "; output += "Age = Your age"; Console.WriteLine(output); } private void txtBoxEmpty_Validating(object sender, System.ComponentModel.CancelEventArgs e) { TextBox tb; tb = (TextBox)sender; if (tb.Text.Length == 0) { tb.BackColor = Color.Red; tb.Tag = false; } else { tb.BackColor = System.Drawing.SystemColors.Window; tb.Tag = true; } ValidateAll(); } private void ValidateAll() { this.btnOK.Enabled = ((bool)(this.txtAddress.Tag) && (bool)(this.txtAge.Tag) && (bool)(this.txtName.Tag) && (bool)(this.txtOccupation.Tag)); } private void txtOccupation_Validating(object sender, System.ComponentModel.CancelEventArgs e) { TextBox tb = (TextBox)sender; if (tb.Text.CompareTo("Employee") == 0 || tb.Text.Length == 0) { tb.Tag = true; tb.BackColor = System.Drawing.SystemColors.Window; } else { tb.Tag = false; tb.BackColor = Color.Red; } ValidateAll(); } private void txtAge_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8) e.Handled = true; // Remove the character } private void txtBox_TextChanged(object sender, System.EventArgs e) { TextBox tb = (TextBox)sender; if (tb.Text.Length == 0 && tb != txtOccupation) { tb.Tag = false; tb.BackColor = Color.Red; } else if (tb == txtOccupation && (tb.Text.Length != 0 && tb.Text.CompareTo("Employee") != 0)) { tb.Tag = false; } else { tb.Tag = true; tb.BackColor = SystemColors.Window; } ValidateAll(); } }
Error Provider to validate the text in a TextBox
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; public class ErrorForm : System.Windows.Forms.Form { private System.Windows.Forms.Label label1; private System.Windows.Forms.Button btnValidate; private System.Windows.Forms.ErrorProvider errorProvider1; private System.Windows.Forms.TextBox txtInput; public ErrorForm() { InitializeComponent(); CenterToScreen(); } private void InitializeComponent() { this.errorProvider1 = new System.Windows.Forms.ErrorProvider(); this.label1 = new System.Windows.Forms.Label(); this.txtInput = new System.Windows.Forms.TextBox(); this.btnValidate = new System.Windows.Forms.Button(); this.SuspendLayout(); // // errorProvider1 // this.errorProvider1.BlinkRate = 500; this.errorProvider1.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.AlwaysBlink; // // label1 // this.label1.Location = new System.Drawing.Point(8, 8); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(376, 56); this.label1.TabIndex = 2; this.label1.Text = "The following text box only allows 5 characters."; // // txtInput // this.txtInput.Location = new System.Drawing.Point(144, 80); this.txtInput.Name = "txtInput"; this.txtInput.Size = new System.Drawing.Size(120, 20); this.txtInput.TabIndex = 0; this.txtInput.Text = ""; this.txtInput.Validating += new System.ComponentModel.CancelEventHandler(this.txtInput_Validating); // // btnValidate // this.btnValidate.Location = new System.Drawing.Point(16, 72); this.btnValidate.Name = "btnValidate"; this.btnValidate.Size = new System.Drawing.Size(112, 32); this.btnValidate.TabIndex = 1; this.btnValidate.Text = "OK"; // // ErrorForm // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(400, 125); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.label1, this.btnValidate, this.txtInput}); this.Name = "ErrorForm"; this.Text = "Error Trapper"; this.ResumeLayout(false); } static void Main() { Application.Run(new ErrorForm()); } private void txtInput_Validating(object sender, System.ComponentModel.CancelEventArgs e) { if(txtInput.Text.ToString().Length > 5) { errorProvider1.SetError( txtInput, "Can't be greater than 5!"); } else{ errorProvider1.SetError(txtInput, ""); } } }
WebBrowser in action
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; public class Form1 : Form { private System.Windows.Forms.WebBrowser webBrowser1; public Form1() { InitializeComponent(); webBrowser1.Navigate("http://www.kutayzorlu.com/java2s/com"); } private void InitializeComponent() { this.webBrowser1 = new System.Windows.Forms.WebBrowser(); this.SuspendLayout(); // // webBrowser1 // this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill; this.webBrowser1.Location = new System.Drawing.Point(0, 0); this.webBrowser1.Name = "webBrowser1"; this.webBrowser1.Size = new System.Drawing.Size(600, 600); this.webBrowser1.TabIndex = 0; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(600, 600); this.Controls.Add(this.webBrowser1); this.Text = "Split Window"; this.ResumeLayout(false); } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); } }
My Web Browser
/* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, Zach Greenvoss, Shripad Kulkarni, Neil Whitlow Publisher: Peer Information ISBN: 1861007663 */ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace MyWebBrowser { /// <summary> /// Summary description for MyWebBrowser. /// </summary> public class MyWebBrowser : System.Windows.Forms.Form { private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Panel panel2; private System.Windows.Forms.TextBox addressBox; private System.Windows.Forms.Button goButton; private AxSHDocVw.AxWebBrowser axWebBrowser1; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public MyWebBrowser() { // // Required for Windows Form Designer support // InitializeComponent(); axWebBrowser1.GoHome(); // // TODO: Add any constructor code after InitializeComponent call // } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MyWebBrowser)); this.panel1 = new System.Windows.Forms.Panel(); this.goButton = new System.Windows.Forms.Button(); this.addressBox = new System.Windows.Forms.TextBox(); this.panel2 = new System.Windows.Forms.Panel(); this.axWebBrowser1 = new AxSHDocVw.AxWebBrowser(); this.panel1.SuspendLayout(); this.panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.axWebBrowser1)).BeginInit(); this.SuspendLayout(); // // panel1 // this.panel1.Controls.AddRange(new System.Windows.Forms.Control[] { this.goButton, this.addressBox}); this.panel1.Dock = System.Windows.Forms.DockStyle.Top; this.panel1.Name = "panel1"; this.panel1.Size = new System.Drawing.Size(408, 40); this.panel1.TabIndex = 0; // // goButton // this.goButton.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right); this.goButton.Image = ((System.Drawing.Bitmap)(resources.GetObject("goButton.Image"))); this.goButton.Location = new System.Drawing.Point(368, 8); this.goButton.Name = "goButton"; this.goButton.Size = new System.Drawing.Size(32, 24); this.goButton.TabIndex = 1; this.goButton.Click += new System.EventHandler(this.goButton_Click); // // addressBox // this.addressBox.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.addressBox.Location = new System.Drawing.Point(8, 8); this.addressBox.Name = "addressBox"; this.addressBox.Size = new System.Drawing.Size(344, 20); this.addressBox.TabIndex = 0; this.addressBox.Text = ""; // // panel2 // this.panel2.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.panel2.Controls.AddRange(new System.Windows.Forms.Control[] { this.axWebBrowser1}); this.panel2.Location = new System.Drawing.Point(8, 48); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(392, 240); this.panel2.TabIndex = 1; // // axWebBrowser1 // this.axWebBrowser1.ContainingControl = this; this.axWebBrowser1.Dock = System.Windows.Forms.DockStyle.Fill; this.axWebBrowser1.Enabled = true; this.axWebBrowser1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axWebBrowser1.OcxState"))); this.axWebBrowser1.Size = new System.Drawing.Size(392, 240); this.axWebBrowser1.TabIndex = 0; // // MyWebBrowser // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(408, 293); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.panel2, this.panel1}); this.Name = "MyWebBrowser"; this.Text = "MyWebBrowser"; this.panel1.ResumeLayout(false); this.panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.axWebBrowser1)).EndInit(); this.ResumeLayout(false); } #endregion /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new MyWebBrowser()); } private void goButton_Click(object sender, System.EventArgs e) { object o = null; object address = (object)addressBox.Text; axWebBrowser1.Navigate2(ref address, ref o, ref o, ref o, ref o); } } } MyWebBrowser.zip( 126 k)
Simple WebBrowser
/* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, Zach Greenvoss, Shripad Kulkarni, Neil Whitlow Publisher: Peer Information ISBN: 1861007663 */ using System; using System.Windows.Forms; using System.Drawing; using AxSHDocVw; public class WebBrowser : Form { private AxWebBrowser browser; private Button goButton; private TextBox addressBox; private Panel panel1; private Panel panel2; public WebBrowser() { panel1 = new Panel(); panel2 = new Panel(); browser = new AxWebBrowser(); browser.BeginInit(); this.SuspendLayout(); panel1.SuspendLayout(); panel2.SuspendLayout(); this.Text = "MyWebBrowser"; panel1.Size = new Size(300, 30); panel1.Dock = DockStyle.Top; panel2.Size = new Size(285,240); panel2.Location = new Point(5, 31); panel2.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; browser.Dock = DockStyle.Fill; addressBox = new TextBox(); addressBox.Size = new Size(260, 20); addressBox.Location = new Point(5,5); addressBox.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left; goButton = new Button(); goButton.Image = Image.FromFile("Arrow.ico"); goButton.Location = new Point(270,5); goButton.Size = new Size(20,20); goButton.Anchor = AnchorStyles.Top | AnchorStyles.Right; panel1.Controls.AddRange(new Control[] { addressBox, goButton }); panel2.Controls.Add(browser); this.Controls.AddRange(new Control[] { panel1, panel2 }); browser.EndInit(); panel1.ResumeLayout(); panel2.ResumeLayout(); this.ResumeLayout(); goButton.Click += new EventHandler(goButton_Click); browser.GoHome(); } private void goButton_Click(object sender, EventArgs e) { object o = null; browser.Navigate(addressBox.Text, ref o, ref o, ref o, ref o); } [STAThread] public static void Main() { Application.Run(new WebBrowser()); } }