2014-09-15 5 views
0

입니다. 텍스트 편집기에서 사용자가 '안녕하세요'라는 단어를 입력하면 '안녕하세요'라는 단어를 쓰려고 얼마나 많은 시간을 보냈습니까? 가능한 한 알고 싶습니다. 얼마나 많은 시간을 들여 각 캐릭터를 타이핑 했는가. 예를 들어, 사람이 hello라는 단어를 입력하는 데 3 초를 걸렸으며 'h'를 입력하려면 1 초가 걸리고 'e'를 누르면 2 초가 걸립니다.키 시간을 측정하는 방법은 C#

고마워요

+5

어떤 부분에서 문제가 있습니까? "the textedit"이라고 말하면 텍스트 상자 컨트롤이 있거나, 타사 텍스트 편집기를 말하는 것입니까? –

+0

'Stopwatch'는'timer'보다 더 적합 할 것이지만 타이밍은 사용자가 걸리는 화면에서 벗어나 어떤 계산 시간도 고려하지 않을 것입니다. – Sayse

+0

'KeyDown','KeyPress' 및/또는'KeyUp'에 대한 핸들을 추가하십시오 (시간 지정 방법에 따라 다름). 변수에서 첫 번째 키를 누른 시간을 기록하십시오. 마지막 키가 눌려지면 (그러나 결정) 현재 시간과 첫 번째 키를 눌렀을 때를 저장 한 시간을 비교합니다. –

답변

0

을 윈도우 폼에 대해 얘기하면 Control.LeaveControl.Enter 이벤트를 사용할 수 있습니다. 이 같은.

그리고 TextChanged을 사용하면 텍스트를 변경하는 데 걸리는 시간을 확인할 수 있습니다.

DateTime StartTime; 
DateTime EndTime; 

private void textBox1_Enter(object sender, EventArgs e) 
{ 
    MessageBox.Show("Entered"); 
    StartTime = DateTime.Now; 
} 

private void textBox1_Leave(object sender, EventArgs e) 
{ 
    MessageBox.Show("Left"); 
    EndTime = DateTime.Now; 
    MessageBox.Show("Time in control: " + EndTime.Subtract(StartTime).ToString()); 
} 
private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    MessageBox.Show("Changed at : " + DateTime.Now.Subtract(StartTime).ToString()); 
    StartTime = DateTime.Now; 
} 
관련 문제