2016-10-13 5 views
0

Как студент, я пытаюсь создать приложение. Однако я испытываю трудности. Я хотел бы сделать заявку на две части. Первый, где есть редактор кода для ввода HTML и другой, который показывает рендеринг страницы в реальном времени.HTML-рендеринг в реальном времени: Winforms

Как сделать вторую часть? Он должен обновить представление для каждой смены кода в редакторе.

Благодарю всех тех, кто мог мне помочь. (Извините за мой английский, я из Швейцарии).

С наилучшими пожеланиями

+0

использование * Webbrowser Control * –

+0

Я думаю, что вы пытаетесь что-то вроде https://jsfiddle.net/. Google это, возможно, вы можете найти реализацию, которую вы можете взять в качестве базы. Я настоятельно рекомендую выбрать другую технологию, отличную от WinForms. –

+0

Спасибо за ваши быстрые ответы. Технология winforms не зависит от меня, к сожалению. –

ответ

-1

Вы можете создать простое приложение Winforms с многострочным TextBox и WebBrowser. Просто attatch вашего 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; 
} 
+0

Отлично, это решение кажется еще лучше. Я попробую как можно скорее. Спасибо :) –

+0

Я отредактировал фрагмент кода. У вас есть функциональный пример:;) –

+0

Хорошо спасибо за ответ :) –

0

Ее на самом деле довольно просто, если Youre уже писал свой HTML-файл, вам просто нужно добавить элемент управления WebBrowser.

Когда у вас есть элемент управления веб-браузером на странице, вам необходимо указать ему источник \ url.

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

Теперь в зависимости от того, где хранится ваша страница html, где ей нужно ее забрать. Я бы предположил, что у вас есть текстовое поле на странице, в котором говорится о приложении, в котором также будет сохранен файл, а также сервер, где можно выбрать страницу html.

Я бы не рекомендовал обновлять страницу каждый раз, когда вы вносили изменения, я бы рекомендовал вам иметь кнопку, чтобы на самом деле сделать обновление для вас, как если бы вы использовали событие TextChanged, которое вы собираетесь называть своей страницей каждый один символ, а не на самом деле дать ему время для загрузки.

поэтому, каждый сохранить, вы должны обновить представление, а не иначе, иначе вы станете большой проблемой.

+0

Хорошо, спасибо вам за эту информацию. Я могу обновить каждые X секунд, может быть? –

+0

Я бы не рекомендовал его, я бы обновил его по команде, как если бы вы писали html, и он автоматически обновляется, если вы не закончили наши элементы, это может заставить вас думать, что вы сделали что-то неправильно. –

Смежные вопросы