2011-08-22 32 views
15

Có thể mở một LinkLabel trong trình duyệt web máy tính mặc định không?LinkLabel ... mở trong trình duyệt web mặc định?

+1

cũng là hành vi mặc định khi bạn đã đặt url hợp lệ hợp lệ. Bạn đang gặp phải vấn đề gì và mã của bạn trông như thế nào? –

+1

Tôi đang tìm kiếm các thuộc tính cho thứ gì đó sẽ bắt đầu. Ban đầu tôi đã thử chỉ cần thiết lập một địa chỉ url cho thuộc tính .Text và tất nhiên là không hiệu quả. – acctman

+0

tôi không hiểu sự tồn tại của kiểm soát này, có lẽ vì tôi don hiểu làm thế nào để sử dụng nó – beppe9000

Trả lời

33

có - bạn có thể sử dụng System.Diagnostics.Process.Start(url) trong sự kiện "liên kết được nhấp".

+1

nên cái gì như private void linkSubmit_LinkClicked này (object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start (linkSubmit .text dưới dạng String); } – acctman

+0

Cảm ơn bạn ...: D: D –

9

Tôi luôn sử dụng chúng như thế này. Bằng cách này, bạn sẽ nhận được trình duyệt mặc định để mở URL.

ProcessStartInfo sInfo = new ProcessStartInfo("http://www.google.com"); 
Process.Start(sInfo); 
4

Dưới đây là một giải pháp lấy cảm hứng từ MSDN rằng hoạt động mà không thể xác định rõ URL vào mã của bạn:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
{ 
    string url; 
    if (e.Link.LinkData != null) 
     url = e.Link.LinkData.ToString(); 
    else 
     url = linkLabel1.Text.Substring(e.Link.Start, e.Link.Length); 

    if (!url.Contains("://")) 
     url = "http://" + url; 

    var si = new ProcessStartInfo(url); 
    Process.Start(si); 
    linkLabel1.LinkVisited = true; 
} 

Sau đó, bạn có thể dễ dàng sử dụng LinkArea có văn bản un-siêu liên kết xung quanh liên kết.

Các vấn đề liên quan