Что нужно для того чтобы написать html редактор на C#?
Начинающему? знать html, C#. Начните с простого web forms приложения. Добавьте текстовую зону и пару кнопок добавляющих и меняющих разметку. Готовых компонентов уже хватает, ничего особенно нового вы не придумаете. А ради практики - пожалуйста. Потихоньку добавляйте кнопки и заодно поймете почему велосипеды - зло, когда наткнетесь на первый баг из-за которого нужно все переписывать.  Думаю он возникнет при добавлении третьей-четвертой кнопки.
Это простой текстовый редактор. 
Копать в сторону компонент редактирования текста.