C# 如何读取闪烁网类的文本属性

C# 如何读取闪烁网类的文本属性,c#,.net,winforms,scintilla,C#,.net,Winforms,Scintilla,我正试图用闪烁网构建一个简单的Python编辑器,现在正试图返回输入。 我有一个类PythonScriptView: public class PythonScriptView : Scintilla { // setup python syntax highlighting } 以及一个表单,它由一个PythonScriptView组件和一个OK按钮组成。在这个类中,我想构建一个函数,它显示我的PythonScriptView的表单并返回Text属性。我为另一个使用文本框作为输入字段

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

public class PythonScriptView : Scintilla
{
    // setup python syntax highlighting
}
以及一个
表单
,它由一个
PythonScriptView
组件和一个OK按钮组成。在这个类中,我想构建一个函数,它显示我的
PythonScriptView
的表单并返回Text属性。我为另一个使用文本框作为输入字段的小对话框做了此操作,现在正在使用闪烁编辑器尝试相同的操作:

    public string GetUserInput()
    {
        ShowDialog();
        return ScriptView.Text; // ScriptView is of Type PythonScriptView
    }
运行应用程序时,我收到以下错误消息:

闪烁网.dll中发生“System.AccessViolationException”类型的未处理异常

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

编辑:


似乎我无法访问此类中的任何属性或方法

我遇到了相同的问题,而且由于闪烁网的工作方式,一旦元素被释放到窗体关闭,您似乎无法访问任何属性。我通过在表单中添加以下事件和属性找到了解决方法

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

public string CachedText { get; private set; }

为什么要投否决票?这真的是一个愚蠢的问题吗?我甚至试过它在下面的文字中所说的:
var text=scintlla.getextrange(0,Math.Min(256,scintlla.TextLength))引发相同的异常。感谢您的帮助!最后,我还发现它与表单有关,并找到了一个类似的事件处理程序解决方案。但不像你的那样干净和普通:)