1

MSDNによると、メソッドの説明ClearUndoは次のとおりです。

"Clears information about the most recent operation from the undo buffer of the text box."

現在、ドキュメントの内容に反して、このメソッドのオーバーライドは、System.Windows.Forms.RichTextBox最新の操作だけでなく、元に戻すバッファー全体をクリアしているようです。ドキュメントと実装の間のこの不一致は既知の問題ですか、それとも他の何かが間違っているのではないかと疑うべきですか? これに関する公式情報を見つけることができなかったので、ここで質問しています。でテストしました.NET Framework 4.0

4

1 に答える 1

3

あなたは正しいです。ILSpyはこれを次のように示していますTextBoxBaseRichTextBoxオーバーライドしません):

public void ClearUndo()
{
    if (base.IsHandleCreated)
    {
        base.SendMessage(205, 0, 0);
    }
}

メッセージ205はEM_EMPTYUNDOBUFFER次のとおりです。

// Header file
#define EM_EMPTYUNDOBUFFER 0x00CD // 0x00CD = 205

// C#
EM_EMPTYUNDOBUFFER = 205
于 2013-01-22T09:46:02.433 に答える