如何阅读 ScintillaNET class 的文本 属性

How to read Text property of ScintillaNET class

我正在尝试使用 ScintillaNET 构建一个简单的 Python 编辑器,现在正在尝试 return 输入。 我有一个 class PythonScriptView:

public class PythonScriptView : Scintilla
{
    // setup python syntax highlighting
}

和一个 Form,它由一个 PythonScriptView 组件和一个 OK 按钮组成。在这个 class 中,我想构建一个函数来显示我的 PythonScriptView 的表单和 return 文本 属性。我为另一个小对话框 window 做了这个,它使用文本框作为输入字段,现在正在尝试使用 scintilla 编辑器进行同样的操作:

    public string GetUserInput()
    {
        ShowDialog();
        return ScriptView.Text; // ScriptView is of Type PythonScriptView
    }

当我 运行 应用程序时,我收到以下错误消息:

An unhandled exception of type 'System.AccessViolationException' occurred in ScintillaNET.dll

有谁知道如何解决这个问题?我还能如何阅读文本 属性?

编辑:

似乎我无法从此 class

访问 任何 属性或方法

我遇到了同样的问题,似乎由于 ScintillaNET 的工作方式,一旦元素被处理到表单关闭,您将无法访问任何属性。我通过将以下事件和 属性 添加到我的表单找到了解决方法。

private void FormClosing(object sender, FormClosingEventArgs e)
{
    CachedText = scintilla.Text;
}

public string CachedText { get; private set; }