HTML实时渲染:Winforms

本文关键字:Winforms 实时 HTML | 更新日期: 2023-09-27 18:12:53

作为一名学生,我正在尝试构建一个应用程序。然而,我遇到了一个困难。我想把我的申请分成两部分。第一个是有一个代码编辑器来输入HTML,另一个是实时显示页面的呈现。

第二部分如何制作?它应该为编辑器中的每次代码更改刷新视图。

我感谢所有能帮助我的人。(抱歉我的英语不好,我来自瑞士)。

HTML实时渲染:Winforms

这其实很简单,如果你已经写出了你的html文件,你只需要添加浏览器控件。

当您在页面上有Web浏览器控件时,您需要给它一个要去的源url。

WebBrowser1.Navigate("location of your html file here");

现在取决于你保存html页面的位置,它需要从哪里捡起它。我建议你在页面上有一个文本框,它告诉应用程序在哪里保存文件,但也将服务器作为从哪里拾取html页面。

我不建议让页面更新每次你做出改变,我建议你有一个按钮,实际上为你做刷新,如果你使用TextChanged事件,你要调用你的页面每一个字符,而不是真正给它时间加载。

所以,每次保存,你都应该更新视图,而不是之前,否则你会给自己一个大问题。

你可以用一个多行文本框和一个WebBrowser控件创建一个简单的Winforms应用程序。只需按如下方式附加TextChanged事件:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        Size = new Size(800, 600);
        mTextBox = new TextBox();
        mTextBox.Multiline = true;
        mTextBox.Font = new Font("Consolas", 10);
        mTextBox.TextChanged += textbox_TextChanged;
        mTextBox.Dock = DockStyle.Fill;
        mTextBox.Height = 400;
        Splitter splitter = new Splitter();
        splitter.Dock = DockStyle.Bottom;
        mWebBrowser = new WebBrowser();
        mWebBrowser.Dock = DockStyle.Bottom;
        Controls.Add(mTextBox);
        Controls.Add(splitter);
        Controls.Add(mWebBrowser);
        mTextBox.Text = "<html>'r'n<h1>Testing!</h1>'r'n</html>";
    }
    void textbox_TextChanged(object sender, EventArgs e)
    {
        mWebBrowser.DocumentText = mTextBox.Text;
    }
    WebBrowser mWebBrowser;
    TextBox mTextBox;
}