实时HTML渲染:Winforms

时间:2016-10-13 16:29:23

标签: c# html .net winforms

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

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

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

祝你好运

2 个答案:

答案 0 :(得分:0)

它实际上很简单,如果你已经写出你的html文件,你只需要添加webbrowser控件。

如果您在页面上拥有Web浏览器控件,则需要为其提供源\ url。

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

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

我建议您不要在每次更改时都更新页面,我建议您有一个按钮来实际为您进行刷新,就像您使用TextChanged事件一样,您将每次调用您的页面而且实际上并没有给它加载时间。

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

答案 1 :(得分:-1)

您可以使用多行TextBoxWebBrowser控件创建一个简单的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;
}