2011-02-24 1 views
1

모든 타이머 틱에서 2 초로 설정 한 데이터베이스에서 가져온 데이터를 표시하는 목록 상자가 있습니다. 데이터는 항상 최신 상태로 유지되어야합니다. SelectedIndexChanged 이벤트 핸들러를 사용하여 목록 상자의 선택된 인덱스에서 자세한 데이터를 표시합니다.C# 목록 상자에서 선택된 인덱스가 매 타이머 새로 고침 후 0으로 재설정됩니다.

현재 문제는 선택한 인덱스를 새로 고칠 때마다 0으로 재설정된다는 것입니다. 새로 고침을 계속하는 방법이 필요하지만 텍스트 필드에 데이터를 유지해야합니다.

+0

당신이 타이머 이벤트 – reggie

+0

아래 코드에 게시 할 수 있습니다 ResumeLayout()이 목록 상자에서 상쾌한 항목이 당신에게 있습니까 전화, 또는 목록 상자의 전체 내용을 대체 목록 상자에 SuspendLayout를 호출하려고하고 추가 항목 이후에 할 수있는 흔들림을 줄이기 위해 ? –

+0

전체 콘텐츠를 교체합니다. – Spada05

답변

4

새로 고치기 전에 선택한 ListItem을 변수에 저장하고 나중에 값을 다시 설정하십시오.

+0

코드에서 어디에서이 작업을 수행합니까? 내 타이머는 populate 메서드를 호출합니다. populate 메서드는 데이터베이스에서 가져 와서 목록 상자에 표시합니다. 목록 상자를 채우면 색인은 자동으로 0으로 설정됩니다. 채운 다음에 넣으면 바로 0으로 설정됩니다. 선택한 인덱스 변경 이벤트 핸들러에 넣으면 모든 새로 고침마다 0으로 자동 업데이트됩니다. – Spada05

+0

populate 메서드 전에 저장하고 populate 메서드 뒤에 설정하십시오. –

+0

나는 잘 했어. 고맙습니다. – Spada05

0

정상적인 동작이며 새 항목을 추가 한 후 항목을 다시 선택하기위한 코드를 작성해야합니다. 당신이