1). As was pointed out by @blah38621, doing
will have no affect on the text in the Scintilla control and it has nothing to do with Scintilla. The Scintilla.Text property is a string and strings in .NET are immutable. i.e. can't be changed. What the string.Remove method does is return a NEW string with
the range specified removed. Thus you could do:
scintilla.Text = scintilla.Text.Remove(1, 5);
but that would be horribly inefficient.
2). The recommended way to delete a range of text in Scintilla is to use a Range object. For example:
scintilla.GetRange(1, 5).Text = "";
will get the range between indexes 1 and 5 and replace it with an empty string. i.e. remove the text in that range.
3). I agree that we should implement the SCI_DELETERANGE message and make this easier to do. As noted in the post above I created work item 34984 to do just that.