/// <summary>
/// 转化IP地址到长整形数
/// </summary>
/// <param name="address">IP地址</param>
/// <returns>长整形数</returns>
private static long ConvertIPToLong(string address)
{
try
{
string[] s1 = address.Split('.');
long ipLong = 0;
for(int i = 0; i <= 3; ++i)
{
ipLong += long.Parse(s1[i])*((long) Math.Pow(256, 3 - i));
}
return ipLong;
}
catch
{
return 0;
}
}
/// 转化IP地址到长整形数
/// </summary>
/// <param name="address">IP地址</param>
/// <returns>长整形数</returns>
private static long ConvertIPToLong(string address)
{
try
{
string[] s1 = address.Split('.');
long ipLong = 0;
for(int i = 0; i <= 3; ++i)
{
ipLong += long.Parse(s1[i])*((long) Math.Pow(256, 3 - i));
}
return ipLong;
}
catch
{
return 0;
}
}
using System.Diagnostics;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Data;namespace ConvertIp2Long
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class FormMain : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public FormMain()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(FormMain));
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(40, 16);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(152, 21);
this.textBox1.TabIndex = 0;
this.textBox1.Text = "";
//
// button1
//
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.button1.Location = new System.Drawing.Point(40, 80);
this.button1.Name = "button1";
this.button1.TabIndex = 2;
this.button1.Text = "转换IP";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(40, 48);
this.textBox2.Name = "textBox2";
this.textBox2.ReadOnly = true;
this.textBox2.Size = new System.Drawing.Size(152, 21);
this.textBox2.TabIndex = 3;
this.textBox2.Text = "";
//
// label1
//
this.label1.Location = new System.Drawing.Point(8, 16);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(24, 23);
this.label1.TabIndex = 4;
this.label1.Text = "Sur";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// label2
//
this.label2.Location = new System.Drawing.Point(0, 48);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(32, 23);
this.label2.TabIndex = 5;
this.label2.Text = "Des";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// button2
//
this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button2.Location = new System.Drawing.Point(120, 112);
this.button2.Name = "button2";
this.button2.TabIndex = 6;
this.button2.Text = "About";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// FormMain
//
this.AcceptButton = this.button1;
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(202, 151);
this.Controls.Add(this.button2);
this.Controls.Add(this.label2);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormMain";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "ConvertIp2Long";
this.ResumeLayout(false); }
#endregion /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new FormMain());
} static string regexString = @"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b";
Regex regex = new Regex(regexString, RegexOptions.IgnoreCase|RegexOptions.Compiled);
private void button1_Click(object sender, System.EventArgs e)
{
string temp = textBox1.Text;
if(temp == "")
{
textBox2.Text = "请输入IP地址";
return;
}
if(regex.IsMatch(temp))
{
textBox2.Text = ConvertIp2Long(temp).ToString();
}
else
{
textBox2.Text = "非法的IP地址";
}
} private static long ConvertIp2Long(string address)
{
try
{
string[] s1 = address.Split('.');
long ipLong = 0;
for(int i = 0; i <= 3; ++i)
{
ipLong += long.Parse(s1[i])*((long) Math.Pow(256, 3 - i));
}
return ipLong;
}
catch
{
return 0;
}
} private void button2_Click(object sender, System.EventArgs e)
{
FormAbout fa = new FormAbout();
fa.ShowDialog(this);
}
}
}
9494