我在我的 WPF 应用程序中使用 Scintilla 文本编辑器,我想让用户只编辑空格:插入、删除、替换等。我想处理之前的文本插入事件和之前的文本删除事件,但是没有...我怎样才能防止插入/删除e.Handled = true
?TextModifiedEventArgs
对KeyDown
我来说还不够,因为它并不总是代表更改的文本......我尝试了以下代码:
static void scintilla_BeforeTextModified(object sender, TextModifiedEventArgs e)
{
var scintilla = (Scintilla) sender;
if (scintilla != null)
{
if (!string.IsNullOrWhiteSpace(scintilla.Selection.Text) || !string.IsNullOrWhiteSpace(e.Text))
{
// flag to ignore the change
_ignoreTextChanges = true;
// save text before modified
_text = scintilla.Text;
} }
} private void _scintilla_TextChanged(object sender, EventArgs e)
{
if (!_suspendTextChanges)
{
_suspendTextChanges = true;
if (_ignoreTextChanges)
{
_ignoreTextChanges = false;
Text = _text;
_scintilla.Text = _text;
}
else
{
Text = _scintilla.Text;
}
_suspendTextChanges = false;
}
_ignoreTextChanges = false;
}
但是我设置的文本在闪烁中没有改变......有人可以帮助我吗?
谢谢...