2014-04-21 2 views
0

다음 코드를 사용하여 실행 취소 & 다시 실행 기능을 여러 개 만드는 방법은 무엇입니까?다중 실행 취소/다시 실행

private void btn_Undo_Click(object sender, EventArgs e) //To Undo previous searched record 
    { 
     if (_dataSet != null && _dataSet.Tables.Count > 0 && _lastDtTable2 != null) 
     { 
      _dataSet.Tables.Clear(); 
      _dataSet.Tables.Add(_lastDtTable2); 
      dataGridView1.DataSource = _dataSet.Tables[0]; 
     } 
    } 
    private void btn_Redo_Click_2(object sender, EventArgs e) 
    { 
     if (_dataSet != null && _dataSet.Tables.Count > 0 && _lastDtTable2 != null) 
     { 
      _dataSet.Tables.Add(); 
      dataGridView1.DataSource = _dataSet.Tables[0]; 
     } 

내가 한 번만

답변

0

가 multpile 당신이 구조를 사용해야합니다의 취소 유지하기 취소 할 수는 (예를 들어,. 스택은 좋은 하나입니다), 그리고 사용자 기록을 유지한다.

각 동작이 스택에 "푸시 (push)"됩니다.

"뒤로"를 누를 때마다 이전 상태를 간단하게 "팝"하여 원하는대로 수행하십시오.

+0

다시 실행하려면 두 번째 스택이 필요합니다. – TaW

+0

넵. 구조에서 상태를 유지해야합니다. –

+0

그럼 어떻게해야합니까? 코드로 시작할 수 있습니까? – user3555674