如何阅读ScintillaNET类的Text属性

时间:2015-05-24 23:39:10

标签: c# .net winforms scintilla

我正在尝试使用ScintillaNET构建一个简单的Python编辑器,现在我正在尝试返回输入。 我有一个班级PythonScriptView

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

Form,其中包含PythonScriptView组件和“确定”按钮。在这个类中,我想构建一个显示表单的函数,并返回我PythonScriptView的Text属性。我为另一个小对话框窗口做了这个,它使用文本框作为输入字段,现在正在尝试使用scintilla编辑器:

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

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

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

有谁知道如何解决这个问题?我怎么能读取Text属性?

修改

似乎我无法从此类

访问任何属性或方法

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,看起来由于ScintillaNET的工作方式,一旦元素被处理,你就无法访问任何属性。我找到了一个解决方法,将以下事件和属性添加到我的表单中。

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

public string CachedText { get; private set; }