Разработка TextEditor на C # .net 2.0 - PullRequest
0 голосов
/ 24 июля 2011

Я начинающий разработчик.Я пытаюсь подражать функциям блокнота Windows.Я использую приложение Windows Forms и язык C #.

Мои вопросы:

  1. Каковы соображения дизайна для разработки текстового редактора?

  2. Как реализовать функции вырезания и копирования без использования инфраструктуры, указанной textbox.Cut или textbox.Copy?

  3. Я написал код для открытия файла иЯ ищу способ хранения данных, пока пользователь печатает.Нужно ли использовать какую-то структуру данных?Если это так, пожалуйста, сообщите мне, как это сделать.

  4. Вот код, который я написал, чтобы открыть новый файл.Есть ли способ улучшить это?Когда я открываю новый файл, указатель вообще не появится, пока я не нажму вкладку.

    TextBox txt = new TextBox();
    txt.Multiline = true;
    txt.Dock = DockStyle.Fill;        
    panel1.Controls.Add(txt);
    panel1.Focus();
  5. Нужно ли использовать графику в Блокноте?Если да, пожалуйста, помогите мне с разрешением.

1 Ответ

1 голос
/ 24 июля 2011

1> Каковы соображения дизайна для texteditor развитие.

  • Решите, хотите ли вы редактировать только один документ или создаете MDI (интерфейс для нескольких документов).
  • Определитесь с набором функций; например, размер табуляции, преобразование конца строки, выбор кодировки или даже проверка орфографии.

2> Как реализовать функцию вырезания и копирования без использования рамки даны textbox.Cut или textbox.Copy.

Вам нужно прочитать о System.Windows.Clipboard. Обратите внимание, что для этого требуется .NET 3.5.

3> Я написал код для открытия файла и ищу способ хранить данные, пока пользователь печатает, значит мне нужно использовать некоторые данные структура или что-то еще. Если да, пожалуйста, сообщите мне, как это сделать.

Самый простой способ сделать это - позволить самому текстовому элементу управления хранить данные для вас в его свойстве Text. Возможно, вам не нужно хранить текст самостоятельно.

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

Вместо того, чтобы фокусироваться на панели, попробуйте сфокусироваться на самом текстовом поле.

5> необходимо ли использовать графику в блокноте. если да, пожалуйста, помогите мне с решением.

Вы можете создать полнофункциональный текстовый редактор, не затрагивая пользовательскую графику или нарисованные пользователем элементы управления.

...