如何读取ScintillaNET类的文本属性

本文关键字:文本 属性 ScintillaNET 何读取 读取 | 更新日期: 2023-09-27 17:50:32

我试图用ScintillaNET构建一个简单的Python编辑器,现在我试图返回输入。我有一个类PythonScriptView:

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

和由PythonScriptView组件和OK按钮组成的Form。在这个类里面,我想建立一个函数,它显示的形式,并返回我的PythonScriptView的文本属性。我为另一个使用文本框作为输入字段的小对话框窗口做了这一点,现在正在尝试与scitilla编辑器相同:

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

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

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

有人知道怎么解决这个问题吗?我还能如何读取文本属性?

编辑:

似乎我不能访问任何属性或方法从这个类

如何读取ScintillaNET类的文本属性

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

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