http://dotnet.aspx.cc/ShowDetail.aspx?id=0A6660CE-4138-41EF-B882-15DB65564709

解决方案 »

  1.   

    CMIC(大象) :
    我要的是類似于 System.Web.HttpServerUtility.UrlEncode 的功能,將漢字可以進行URL編碼,但是在WinForm中是不可用System.Web.HttpServerUtility類的
      

  2.   

    如果你想在Windows Forms中实现URL Encoding,HttpUtility类有一个shared (static)方法实现对字符串的URL 编码。下面就是一个例子:【注意要引用System.Web】Imports System
    Imports System.Windows.Forms
    Imports System.Drawing
    Imports System.WebPublic Class Form1
      Inherits System.Windows.Forms.Form#Region " Windows 窗体设计器生成的代码 "
      Public Sub New()
        MyBase.New()
        '该调用是 Windows 窗体设计器所必需的。
        InitializeComponent()
        '在 InitializeComponent() 调用之后添加任何初始化
      End Sub  '窗体重写 dispose 以清理组件列表。
      Protected Overloads Overrides 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  'Windows 窗体设计器所必需的
      Private components As System.ComponentModel.IContainer  '注意: 以下过程是 Windows 窗体设计器所必需的
      '可以使用 Windows 窗体设计器修改此过程。
      '不要使用代码编辑器修改它。
      Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
      Friend WithEvents Button1 As System.Windows.Forms.Button
      Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
      Friend WithEvents Label1 As System.Windows.Forms.Label
      Friend WithEvents Button2 As System.Windows.Forms.Button
      Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
      <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.TextBox1 = New System.Windows.Forms.TextBox
        Me.Button1 = New System.Windows.Forms.Button
        Me.TextBox2 = New System.Windows.Forms.TextBox
        Me.Label1 = New System.Windows.Forms.Label
        Me.Button2 = New System.Windows.Forms.Button
        Me.TextBox3 = New System.Windows.Forms.TextBox
        Me.SuspendLayout()
        '
        'TextBox1
        '
        Me.TextBox1.Location = New System.Drawing.Point(72, 16)
        Me.TextBox1.Size = New System.Drawing.Size(320, 21)
        Me.TextBox1.Text = "http://xml.sz.luohuedu.net/?ID=Url Encoding 测试"
        '
        'Button1
        '
        Me.Button1.Location = New System.Drawing.Point(112, 112)
        Me.Button1.Size = New System.Drawing.Size(96, 23)
        Me.Button1.Text = " URL Encoding"
        '
        'TextBox2
        '
        Me.TextBox2.Location = New System.Drawing.Point(72, 48)
        Me.TextBox2.Size = New System.Drawing.Size(320, 21)    '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(0, 24)
        Me.Label1.Size = New System.Drawing.Size(64, 16)
        Me.Label1.Text = "输入URL:"
        '
        'Button2
        '
        Me.Button2.Location = New System.Drawing.Point(240, 112)
        Me.Button2.Size = New System.Drawing.Size(88, 23)
        Me.Button2.Text = "URL Decoding"
        '
        'TextBox3
        '
        Me.TextBox3.Location = New System.Drawing.Point(72, 80)
        Me.TextBox3.Size = New System.Drawing.Size(320, 21)
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(416, 149)
        Me.Controls.Add(Me.TextBox3)
        Me.Controls.Add(Me.Button2)
        Me.Controls.Add(Me.Label1)
        Me.Controls.Add(Me.TextBox2)
        Me.Controls.Add(Me.Button1)
        Me.Controls.Add(Me.TextBox1)
        Me.Text = "URL Encoding/Decoding 测试"
        Me.ResumeLayout(False)  End Sub
    #End RegionPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      TextBox2.Text = HttpUtility.UrlEncode(TextBox1.Text)
    End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
      TextBox3.Text = HttpUtility.UrlDecode(TextBox2.Text)
    End Sub
    End Class
      

  3.   

    net_lover(孟子E章) :
    System.Web.HttpUtility 根本就不能在WinForm程序中用呀,
    在WinForm中只能用System.Web.UI.Design
      

  4.   

    谁说的不行啦????????????????????????
    要源代码的话发邮件。做法:
    1,新建立工程,C#,Windows应用程序
    2,在工程的引用里添加引用,选.NET,找System.Web.dll
    3,窗体代码如下:using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.Web;namespace WindowsApplication1
    {
    /// <summary>
    /// Form1 的摘要说明。
    /// </summary>
    public class Form1 : 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.TextBox textBox3;
    private System.Windows.Forms.Button button2;
    /// <summary>
    /// 必需的设计器变量。
    /// </summary>
    private System.ComponentModel.Container components = null; public Form1()
    {
    //
    // 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()
    {
    this.textBox1 = new System.Windows.Forms.TextBox();
    this.button1 = new System.Windows.Forms.Button();
    this.textBox2 = new System.Windows.Forms.TextBox();
    this.textBox3 = new System.Windows.Forms.TextBox();
    this.button2 = new System.Windows.Forms.Button();
    this.SuspendLayout();
    // 
    // textBox1
    // 
    this.textBox1.Location = new System.Drawing.Point(72, 40);
    this.textBox1.Name = "textBox1";
    this.textBox1.Size = new System.Drawing.Size(528, 21);
    this.textBox1.TabIndex = 0;
    this.textBox1.Text = "我是中文";
    // 
    // button1
    // 
    this.button1.Location = new System.Drawing.Point(168, 168);
    this.button1.Name = "button1";
    this.button1.TabIndex = 1;
    this.button1.Text = "Url编码";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    // 
    // textBox2
    // 
    this.textBox2.Location = new System.Drawing.Point(72, 72);
    this.textBox2.Name = "textBox2";
    this.textBox2.Size = new System.Drawing.Size(528, 21);
    this.textBox2.TabIndex = 2;
    this.textBox2.Text = "";
    // 
    // textBox3
    // 
    this.textBox3.Location = new System.Drawing.Point(72, 112);
    this.textBox3.Name = "textBox3";
    this.textBox3.Size = new System.Drawing.Size(528, 21);
    this.textBox3.TabIndex = 3;
    this.textBox3.Text = "";
    // 
    // button2
    // 
    this.button2.Location = new System.Drawing.Point(392, 168);
    this.button2.Name = "button2";
    this.button2.TabIndex = 4;
    this.button2.Text = "Url解码";
    this.button2.Click += new System.EventHandler(this.button2_Click);
    // 
    // Form1
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
    this.ClientSize = new System.Drawing.Size(672, 273);
    this.Controls.Add(this.button2);
    this.Controls.Add(this.textBox3);
    this.Controls.Add(this.textBox2);
    this.Controls.Add(this.button1);
    this.Controls.Add(this.textBox1);
    this.Name = "Form1";
    this.Text = "Form1";
    this.ResumeLayout(false); }
    #endregion /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    } private void button1_Click(object sender, System.EventArgs e)
    {
    textBox2.Text = System.Web.HttpUtility.UrlEncode(textBox1.Text); } private void button2_Click(object sender, System.EventArgs e)
    {
    textBox3.Text = System.Web.HttpUtility.UrlDecode(textBox2.Text); }
    }
    }
      

  5.   

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.Web;namespace WindowsApplication1
    {
    /// <summary>
    /// Form1 的摘要说明。
    /// </summary>
    public class Form1 : 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.TextBox textBox3;
    private System.Windows.Forms.Button button2;
    /// <summary>
    /// 必需的设计器变量。
    /// </summary>
    private System.ComponentModel.Container components = null;public Form1()
    {
    //
    // 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()
    {
    this.textBox1 = new System.Windows.Forms.TextBox();
    this.button1 = new System.Windows.Forms.Button();
    this.textBox2 = new System.Windows.Forms.TextBox();
    this.textBox3 = new System.Windows.Forms.TextBox();
    this.button2 = new System.Windows.Forms.Button();
    this.SuspendLayout();
    // 
    // textBox1
    // 
    this.textBox1.Location = new System.Drawing.Point(72, 40);
    this.textBox1.Name = "textBox1";
    this.textBox1.Size = new System.Drawing.Size(528, 21);
    this.textBox1.TabIndex = 0;
    this.textBox1.Text = "我是中文";
    // 
    // button1
    // 
    this.button1.Location = new System.Drawing.Point(168, 168);
    this.button1.Name = "button1";
    this.button1.TabIndex = 1;
    this.button1.Text = "Url编码";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    // 
    // textBox2
    // 
    this.textBox2.Location = new System.Drawing.Point(72, 72);
    this.textBox2.Name = "textBox2";
    this.textBox2.Size = new System.Drawing.Size(528, 21);
    this.textBox2.TabIndex = 2;
    this.textBox2.Text = "";
    // 
    // textBox3
    // 
    this.textBox3.Location = new System.Drawing.Point(72, 112);
    this.textBox3.Name = "textBox3";
    this.textBox3.Size = new System.Drawing.Size(528, 21);
    this.textBox3.TabIndex = 3;
    this.textBox3.Text = "";
    // 
    // button2
    // 
    this.button2.Location = new System.Drawing.Point(392, 168);
    this.button2.Name = "button2";
    this.button2.TabIndex = 4;
    this.button2.Text = "Url解码";
    this.button2.Click += new System.EventHandler(this.button2_Click);
    // 
    // Form1
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
    this.ClientSize = new System.Drawing.Size(672, 273);
    this.Controls.Add(this.button2);
    this.Controls.Add(this.textBox3);
    this.Controls.Add(this.textBox2);
    this.Controls.Add(this.button1);
    this.Controls.Add(this.textBox1);
    this.Name = "Form1";
    this.Text = "Form1";
    this.ResumeLayout(false);}
    #endregion/// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    }private void button1_Click(object sender, System.EventArgs e)
    {
    textBox2.Text = System.Web.HttpUtility.UrlEncode(textBox1.Text);}private void button2_Click(object sender, System.EventArgs e)
    {
    textBox3.Text = System.Web.HttpUtility.UrlDecode(textBox2.Text);}
    }
    }
      

  6.   

    net_lover(孟子E章):
    謝謝了,原來少了最關鍵的一步:添加引用
    結貼