Редактор электронной почты HTML в приложении Windows Forms

Хорошим решением является использование AbortController или библиотеки, подобной axios, которая поддерживает отменяемые запросы, но вы также можете оставить переменную экземпляра, которую вы изменили на false, когда компонент размонтируется, и проверить его перед использованием. setState после того, как запросы завершены.

Пример

class App extends React.Component {
  _isMounted = true;

  async componentDidMount() {
    const page = await fetchPage(this.props.page);
    const section = await fetchSection(this.props.section);

    if (this._isMounted) {
      this.setState({ page, section });
    }
  }

  componentWillUnmount() {
    this._isMounted = false;
  }

  render() {
    // ...
  }
}
20
задан Jaymin 18 October 2019 в 09:48
поделиться

6 ответов

Мне также был нужен WYSIWYG-редактор для проекта Windows Forms, что я продолжал работать. Я записал об объектах, что нашел здесь . В конечном счете я закончил тем, что использовал что-то, что я нашел на CodeProject: А основанный на Windows Forms текстовый редактор с выводом HTML . Это действительно нарушает (a) выше, в котором это использует управление WebBrowser. Однако я ничто не мог найти хорошим, который не сделал этого (если Вы не используете WebBrowser в некотором роде, затем в основном необходимо исправить собственный синтаксический анализатор HTML и рендерер для обработки части "What-You-See" WYSIWYG). Хорошая вещь об этом управлении состоит в том, что источник легко настраиваем, таким образом, можно устранить и добавить параметры форматирования, поскольку Вам нужно (и если Вы хотите стили ко всем быть в гармонии, можно сделать это также).

2
ответ дан 30 November 2019 в 01:30
поделиться

Я использовал этот , который идет немного ниже, чем WebBrowser, но все еще использует MSHTML, который действительно выкладывает некоторый ужасный HTML. В моих целях я делаю редактора мультис вкладками с режимом редактирования WYSIWYG и HTML (использующий ICSharp. TextEditor) с Буферным классом для обновления каждый раз, когда вкладки изменяются. Как часть того Буферного класса, я на самом деле выполняю HTML через HTML, Опрятный и несколько scrub-n-replace битов для получения допустимого XHTML.

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

3
ответ дан 30 November 2019 в 01:30
поделиться

я использовал комбинацию a) и b)

:-)

, я использовал обертку вокруг mshtml и tinymce в webeditor...

http://peitor.blogspot.com/2007/12/great-windows-forms-html-control.html

снимки экрана включены.

я думаю, что необходимо дать тому управлению попытку.

1
ответ дан 30 November 2019 в 01:30
поделиться

Исходный код nikhil предоставляет достойное решение. Я загрузил этот небольшой компонент когда-то назад, я думаю, что он использует MSHTML. Но я не уверен в этом. Источник может загруженный здесь . Сообщите мне, помогает ли это :)

0
ответ дан 30 November 2019 в 01:30
поделиться

Вы не упоминали, готовы ли Вы заплатить за управление, но если Вы, я рекомендую Actipro SyntaxEditor.

0
ответ дан 30 November 2019 в 01:30
поделиться

Вместо того чтобы искать HTML-редактор, рассмотрите вариант RichText-редактора (который может быть гораздо проще в создании), а затем преобразуйте окончательный текст в HTML-документ.

При условии, что от вас требуется использование минимального набора функций (жирный / курсив и т.д.) как создание редактора RT, так и преобразование конечного документа в формат HTML не должно быть сложным.

Если, с другой стороны, вам необходимо использовать больше возможностей (например, таблицы), вам нужно изучить Rich Text Format и реализовать необходимые вам возможности.

Дополнительные ресурсы:

1
ответ дан 30 November 2019 в 01:30
поделиться