locked
识别url RRS feed

  • 问题

  • 在windows mobile6.5中,c#做了一个自定义组件,上面添加了一个label控件,这个label控件中显示一段文字,在文字中有url,如何给里面的url加上超链接呢,有人说用label和linklabel可以实现,哪位能给个代码例子,谢谢!

    2010年10月24日 9:10

答案

  • 您好

    您可以使用 WebBrower,參考以下步驟

    1. 添加一個 WebBrower,Name : webBrowser1

    2. 在 WebBrower.DocumentText 載入包含文字與超連結 HTML

    using System;
    using System.Linq;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace SmartDeviceProject4
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
          this.webBrowser1.DocumentText = @"
    <html><body>
    <div class=WordSection1 style='layout-grid:18.0pt'>
    <p class=MsoNormal><span style='font-family:""新細明體"",""serif"";mso-ascii-font-family:
    Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:新細明體;
    mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:
    minor-latin'>連結到</span> <span lang=EN-US><a
    href=""http://social.msdn.microsoft.com/Forums/zh-CN/categories"">MSDN </a></span><span
    style='font-family:""新細明體"",""serif"";mso-ascii-font-family:Calibri;mso-ascii-theme-font:
    minor-latin;mso-fareast-font-family:新細明體;mso-fareast-theme-font:minor-fareast;
    mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin'>網頁</span></p>
    </div>
    </html></body>";
        }
    
      }
    }
    

     

    3. 執行結果 


    歡迎參觀我的Blog.NET菜鳥自救會
    2010年10月24日 13:08

全部回复

  • 您好

    您可以使用 WebBrower,參考以下步驟

    1. 添加一個 WebBrower,Name : webBrowser1

    2. 在 WebBrower.DocumentText 載入包含文字與超連結 HTML

    using System;
    using System.Linq;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace SmartDeviceProject4
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
          this.webBrowser1.DocumentText = @"
    <html><body>
    <div class=WordSection1 style='layout-grid:18.0pt'>
    <p class=MsoNormal><span style='font-family:""新細明體"",""serif"";mso-ascii-font-family:
    Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:新細明體;
    mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:
    minor-latin'>連結到</span> <span lang=EN-US><a
    href=""http://social.msdn.microsoft.com/Forums/zh-CN/categories"">MSDN </a></span><span
    style='font-family:""新細明體"",""serif"";mso-ascii-font-family:Calibri;mso-ascii-theme-font:
    minor-latin;mso-fareast-font-family:新細明體;mso-fareast-theme-font:minor-fareast;
    mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin'>網頁</span></p>
    </div>
    </html></body>";
        }
    
      }
    }
    

     

    3. 執行結果 


    歡迎參觀我的Blog.NET菜鳥自救會
    2010年10月24日 13:08
  • 你好,

    也可以使用linklable控件,需要注意的是,linklable本身不会启动web browser ,需要自己添加相应的处理事件,如下:

    Code Snippet

    using

    System.Diagnostics;

     

    using (Process pieProcess = new Process())

    {

     

      ProcessStartInfo startInfo = new ProcessStartInfo(linklabel1.Text, "");

      pieProcess.StartInfo = startInfo;

     

      try

      {

        pieProcess.Start();

      }

     

      catch (Exception)

      {

     

        MessageBox.Show("Failed to launch web browser", "Error");

      }

    }


    施炯
    2010年10月24日 23:11
  • 你好,

    也可以使用linklable控件,需要注意的是,linklable本身不会启动web browser ,需要自己添加相应的处理事件,如下:

    Code Snippet

    using

    System.Diagnostics;

     

    using (Process pieProcess = new Process())

     

      ProcessStartInfo startInfo = new ProcessStartInfo(linklabel1.Text, "");

     

      try

      {

        pieProcess.Start();

      }

     

      catch (Exception)

     

        MessageBox.Show("Failed to launch web browser", "Error");

     


    施炯

      }

    }

      {

     

      pieProcess.StartInfo = startInfo;

     

    {

     


    用linklabel好像不行吧,它没有LinkArea这个属性,不能指定文字中的哪片区域加链接
    2010年10月25日 1:40