我正在尝试使用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属性?
修改
似乎我无法从此类
访问任何属性或方法答案 0 :(得分:2)
我遇到了同样的问题,看起来由于ScintillaNET的工作方式,一旦元素被处理,你就无法访问任何属性。我找到了一个解决方法,将以下事件和属性添加到我的表单中。
private void FormClosing(object sender, FormClosingEventArgs e)
{
CachedText = scintilla.Text;
}
public string CachedText { get; private set; }