【问题标题】:TextEditor development in C# .net 2.0C# .net 2.0 中的 TextEditor 开发
【发布时间】:2011-07-24 14:02:55
【问题描述】:

我是新手开发人员。我正在尝试模仿 Windows 记事本功能。我使用的是 Windows 窗体应用程序,语言是 C#。

我的问题是:

  1. 文本编辑器开发的设计注意事项有哪些?

  2. 如何在不使用textbox.Cuttextbox.Copy 给出的框架的情况下实现剪切和复制功能?

  3. 我已经编写了用于打开文件的代码,并且正在寻找一种在用户键入时存储数据的方法。我需要使用一些数据结构吗?如果是这样,请指导我如何做到这一点。

  4. 这是我为打开一个新文件而编写的代码。有没有办法改善这一点?当我打开一个新文件时,指针根本不会出现,直到我按下制表符。

    TextBox txt = new TextBox();
    txt.Multiline = true;
    txt.Dock = DockStyle.Fill;        
    panel1.Controls.Add(txt);
    panel1.Focus();
  5. 是否需要在记事本中使用图形?如果是这样,请帮助我解决问题。

【问题讨论】:

  • 你的问题太抽象了。请澄清您是否有任何无法解决的问题。
  • 简而言之,当您执行剪切操作时,如何确定字符串的开始和结束位置以及将其移动到缓冲区或剪贴板的位置。
  • 请随意使用 MSDN 自行回答这些问题。 TextBox 有一个属性“SelectionStart”:msdn.microsoft.com/en-us/library/… 然后,关于剪贴板:msdn.microsoft.com/en-us/library/system.windows.clipboard.aspx 你的问题不值得在这里问。
  • @mason 您能否详细说明,我的编辑出了什么问题?
  • @defaultlocale 对一个 3 年前的问题进行了简单的修改。

标签: .net windows forms c#-2.0


【解决方案1】:

1> texteditor 需要做哪些设计考虑 发展。

  • 决定是只编辑单个文档,还是构建 MDI(多文档界面)。
  • 决定一个特性集;例如,制表符大小、行尾转换、编码选择,甚至拼写检查。

2> 如何在不使用 框架给定 textbox.Cut 或 textbox.Copy.

您需要阅读有关System.Windows.Clipboard 的信息。请注意,这需要 .NET 3.5。

3> 我已经编写了打开文件的代码,我正在寻找一种方法 在用户键入时存储数据,意味着我需要使用一些数据吗 结构或其他东西。如果是,请指导我如何做到这一点。

执行此操作的最简单方法是让文本控件本身在其 Text 属性中为您存储数据。您可能不需要自己存储文本。

4> 这是我为打开一个新文件而编写的代码。有没有办法 改善这一点,因为当我打开新文件时,指针根本不会出现,直到我按下制表符。

不要将焦点放在面板上,而是尝试将焦点放在文本框本身上。

5> 是否需要在记事本中使用图形。如果是,请帮助我解决问题。

您可以构建一个功能齐全的文本编辑器,而无需触摸自定义图形或用户绘制的控件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    相关资源
    最近更新 更多