About the RSS weather layer Sample
[C#]
ZipCodeDlg.cs
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace RSSWeatherLayer
{
/// <summary>
/// Gets the input zipCode from the user
/// </summary>
public class ZipCodeDlg : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox txtZipCode;
private System.Windows.Forms.Label lblZipCode;
private System.Windows.Forms.CheckBox chkZoomTo;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.Button btnCancel;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public ZipCodeDlg()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
}
/// <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()
{
this.txtZipCode = new System.Windows.Forms.TextBox();
this.lblZipCode = new System.Windows.Forms.Label();
this.chkZoomTo = new System.Windows.Forms.CheckBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.btnOK = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// txtZipCode
//
this.txtZipCode.Location = new System.Drawing.Point(64, 24);
this.txtZipCode.Name = "txtZipCode";
this.txtZipCode.TabIndex = 0;
this.txtZipCode.Text = "";
//
// lblZipCode
//
this.lblZipCode.Location = new System.Drawing.Point(8, 24);
this.lblZipCode.Name = "lblZipCode";
this.lblZipCode.Size = new System.Drawing.Size(48, 16);
this.lblZipCode.TabIndex = 1;
this.lblZipCode.Text = "ZipCode:";
//
// chkZoomTo
//
this.chkZoomTo.Location = new System.Drawing.Point(8, 56);
this.chkZoomTo.Name = "chkZoomTo";
this.chkZoomTo.TabIndex = 2;
this.chkZoomTo.Text = "Zoom to item";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.chkZoomTo);
this.groupBox1.Controls.Add(this.txtZipCode);
this.groupBox1.Controls.Add(this.lblZipCode);
this.groupBox1.Location = new System.Drawing.Point(8, 8);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(176, 88);
this.groupBox1.TabIndex = 3;
this.groupBox1.TabStop = false;
//
// btnOK
//
this.btnOK.Location = new System.Drawing.Point(8, 120);
this.btnOK.Name = "btnOK";
this.btnOK.TabIndex = 4;
this.btnOK.Text = "OK";
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// btnCancel
//
this.btnCancel.Location = new System.Drawing.Point(112, 120);
this.btnCancel.Name = "btnCancel";
this.btnCancel.TabIndex = 5;
this.btnCancel.Text = "Cancel";
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// ZipCodeDlg
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(194, 152);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnOK);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "ZipCodeDlg";
this.ShowInTaskbar = false;
this.Text = "Add by zip code dialog";
this.TopMost = true;
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The Ok button click
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnOK_Click(object sender, System.EventArgs e)
{
//set the dialog result
this.DialogResult = DialogResult.OK;
//close the dialog
this.Close();
}
/// <summary>
/// Cancel button click
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnCancel_Click(object sender, System.EventArgs e)
{
//set the dialog result
this.DialogResult = DialogResult.Cancel;
//close the dialog
this.Close();
}
/// <summary>
/// Returns the zipCode entered by the user
/// </summary>
public long ZipCode
{
get
{
//make sure that the zipcode is a number
if(IsNumber(txtZipCode.Text))
return long.Parse(txtZipCode.Text);
else
return 0;
}
}
/// <summary>
/// Returns whether the user checked the option to zoom to the given zipCode weather item
/// </summary>
public bool ZoomToItem
{
get { return chkZoomTo.Checked; }
}
/// <summary>
/// test whether a string is a number
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
private bool IsNumber(string input)
{
foreach(char c in input)
{
if(!char.IsNumber(c)) return false;
}
return true;
}
}
}
[Visual Basic .NET]
ZipCodeDlg.vb
Imports Microsoft.VisualBasic
Imports System
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
''' <summary>
''' Gets the input zipCode from the user
''' </summary>
Public Class ZipCodeDlg : Inherits System.Windows.Forms.Form
Private txtZipCode As System.Windows.Forms.TextBox
Private lblZipCode As System.Windows.Forms.Label
Private chkZoomTo As System.Windows.Forms.CheckBox
Private groupBox1 As System.Windows.Forms.GroupBox
Private WithEvents btnOK As System.Windows.Forms.Button
Private WithEvents btnCancel As System.Windows.Forms.Button
''' <summary>
''' Required designer variable.
''' </summary>
Private components As System.ComponentModel.Container = Nothing
Public Sub New()
'
' Required for Windows Form Designer support
'
InitializeComponent()
End Sub
''' <summary>
''' Clean up any resources being used.
''' </summary>
Protected Overrides Overloads Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not components Is Nothing Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
#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 Sub InitializeComponent()
Me.txtZipCode = New System.Windows.Forms.TextBox()
Me.lblZipCode = New System.Windows.Forms.Label()
Me.chkZoomTo = New System.Windows.Forms.CheckBox()
Me.groupBox1 = New System.Windows.Forms.GroupBox()
Me.btnOK = New System.Windows.Forms.Button()
Me.btnCancel = New System.Windows.Forms.Button()
Me.groupBox1.SuspendLayout()
Me.SuspendLayout()
'
' txtZipCode
'
Me.txtZipCode.Location = New System.Drawing.Point(64, 24)
Me.txtZipCode.Name = "txtZipCode"
Me.txtZipCode.TabIndex = 0
Me.txtZipCode.Text = ""
'
' lblZipCode
'
Me.lblZipCode.Location = New System.Drawing.Point(8, 24)
Me.lblZipCode.Name = "lblZipCode"
Me.lblZipCode.Size = New System.Drawing.Size(48, 16)
Me.lblZipCode.TabIndex = 1
Me.lblZipCode.Text = "ZipCode:"
'
' chkZoomTo
'
Me.chkZoomTo.Location = New System.Drawing.Point(8, 56)
Me.chkZoomTo.Name = "chkZoomTo"
Me.chkZoomTo.TabIndex = 2
Me.chkZoomTo.Text = "Zoom to item"
'
' groupBox1
'
Me.groupBox1.Controls.Add(Me.chkZoomTo)
Me.groupBox1.Controls.Add(Me.txtZipCode)
Me.groupBox1.Controls.Add(Me.lblZipCode)
Me.groupBox1.Location = New System.Drawing.Point(8, 8)
Me.groupBox1.Name = "groupBox1"
Me.groupBox1.Size = New System.Drawing.Size(176, 88)
Me.groupBox1.TabIndex = 3
Me.groupBox1.TabStop = False
'
' btnOK
'
Me.btnOK.Location = New System.Drawing.Point(8, 120)
Me.btnOK.Name = "btnOK"
Me.btnOK.TabIndex = 4
Me.btnOK.Text = "OK"
' Me.btnOK.Click += New System.EventHandler(Me.btnOK_Click);
'
' btnCancel
'
Me.btnCancel.Location = New System.Drawing.Point(112, 120)
Me.btnCancel.Name = "btnCancel"
Me.btnCancel.TabIndex = 5
Me.btnCancel.Text = "Cancel"
' Me.btnCancel.Click += New System.EventHandler(Me.btnCancel_Click);
'
' ZipCodeDlg
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(194, 152)
Me.Controls.Add(Me.btnCancel)
Me.Controls.Add(Me.btnOK)
Me.Controls.Add(Me.groupBox1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me.Name = "ZipCodeDlg"
Me.ShowInTaskbar = False
Me.Text = "Add by zip code dialog"
Me.TopMost = True
Me.groupBox1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
''' <summary>
''' The Ok button click
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
Private Sub btnOK_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOK.Click
'set the dialog result
Me.DialogResult = System.Windows.Forms.DialogResult.OK
'close the dialog
Me.Close()
End Sub
''' <summary>
''' Cancel button click
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
Private Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCancel.Click
'set the dialog result
Me.DialogResult = DialogResult.Cancel
'close the dialog
Me.Close()
End Sub
''' <summary>
''' Returns the zipCode entered by the user
''' </summary>
Public ReadOnly Property ZipCode() As Long
Get
'make sure that the zipcode is a number
If IsNumber(txtZipCode.Text) Then
Return Long.Parse(txtZipCode.Text)
Else
Return 0
End If
End Get
End Property
''' <summary>
''' Returns whether the user checked the option to zoom to the given zipCode weather item
''' </summary>
Public ReadOnly Property ZoomToItem() As Boolean
Get
Return chkZoomTo.Checked
End Get
End Property
''' <summary>
''' test whether a string is a number
''' </summary>
''' <param name="input"></param>
''' <returns></returns>
Private Function IsNumber(ByVal input As String) As Boolean
For Each c As Char In input
If (Not Char.IsNumber(c)) Then
Return False
End If
Next c
Return True
End Function
End Class