【问题标题】:Url request on RichTextBox?RichTextBox 上的 URL 请求?
【发布时间】:2012-07-29 00:51:12
【问题描述】:

我想让 HTML 代码显示在 RichTextBox 中。我正在使用代码

WebClient client = new WebClient();
byte[] data = client.DownloadData("http://www.google.com");
richTextBox1.Text = data.ToString();

我该怎么做?

另外:我不知道为什么,但这会在 RichTextBox 上显示“System.Byte[]”。

【问题讨论】:

标签: c# wpf richtextbox


【解决方案1】:

使用WebClient.DownloadString 将指定资源下载为StringUri

var contents = new System.Net.WebClient().DownloadString(url);

注意RTF 编码不同于HTML。你不能马上这样做。我建议WebBrowser 控制。

或尝试以下方法:

【讨论】:

    【解决方案2】:

    显示System.Byte[] 因为显示的是data 的描述,而不是data 的内容。为此,请执行以下操作:

            WebClient client = new WebClient();
            byte[] file = client.DownloadData("example.com");
    
            File.WriteAllBytes(@"example.txt", file);
    
            string[] lines = File.ReadAllLines("example.txt");
    
            richTextBox1.Text = lines;
    

    查看实际内容

    编辑

    或者你可以像@Ria 建议的那样做WebClient.DownloadString。只有我会这样实现它:

    WebClient client = new WebClient();
    var data = client.DownloadString("example.com");
    richTextBox1.Text = data.ToString();
    

    或者更高效

    richTextBox1.Text = client.DownloadString("example.com");
    

    【讨论】:

    • 所以,为了将字节显示为字符串,我需要先将其保存为文件??? (我已经阅读过 DownloadString 解决方案)顺便谢谢
    • @user1091856 如果您要存储大量数据,这是一种方法,但WebClient.DownloadString() 效率更高,请参阅编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 2017-11-19
    相关资源
    最近更新 更多