TextBox에 대해 매우 간단한 실행 취소 기능을 사용하고 있으며 이상한 문제가 있습니다. 모든 변경 내용이 들어있는 Stack
에서 문자열을 가져 와서 텍스트 상자 안에 넣으려고하면 변경 사항이 표시되지 않습니다.텍스트 상자의 기능을 취소하십시오.
약간의 디버그 라벨을 작성하여 실제로 작동하는지 확인합니다. 레이블에서 작동한다는 것을 알았지 만 텍스트 상자에서는 자체 Undo 기능을 사용합니다.
취소하거나 텍스트 상자를 취소하고 내 자신의 기능을 사용하는 방법이 있습니까?
private void Form1_KeyDown(object sender, KeyEventArgs e)
if (e.KeyCode == Keys.Z && (ModifierKeys & Keys.Control) == Keys.Control)
{
nameTextBox.Text = undoName.GetLastChange(); //--> not working
undoDebuglabel.Text = undoName.GetLastChange(); --> working
}
}
GetLastChange()는 클래스 내부의 Stack
에서 정보를 얻고있다 :
여기에 내가 만든 변경의 샘플 코드입니다.
텍스트 상자에서 변경 사항을 볼 수없는 것과 같습니다. 동일한 단축키 인 CTRL + Z
을 사용하고 있기 때문에 그럴 수 있습니까?
내가 게시 한 코드는 정상적으로 작동합니다. –
텍스트 상자 안의 스택에서 변경 사항을 확인 하시겠습니까? – samy
예. 분명히 당신이 그것을 채우기 위해하는 정확한 코드를 가지고 있지는 않지만 개념은 같습니다. –