항목이 선택되었는지 또는 목록 상자에 항목이 없는지 어떻게 확인합니까? 그래서 단추를 제거 할 수 있지만 목록 상자에서 항목을 선택하면 해당 단추를 실행하면됩니다. 전 C# 뒤에 asp.net 코드를 사용하여. 이 유효성 검사가 서버 측에서 발생한 경우 선호합니다. 리스트 박스의 선택된 지수가 0보다 크거나 같으면목록 상자 유효성 검사
환호 .. 버튼 클릭에 대한 콜백
항목이 선택되었는지 또는 목록 상자에 항목이 없는지 어떻게 확인합니까? 그래서 단추를 제거 할 수 있지만 목록 상자에서 항목을 선택하면 해당 단추를 실행하면됩니다. 전 C# 뒤에 asp.net 코드를 사용하여. 이 유효성 검사가 서버 측에서 발생한 경우 선호합니다. 리스트 박스의 선택된 지수가 0보다 크거나 같으면목록 상자 유효성 검사
환호 .. 버튼 클릭에 대한 콜백
for (int i = 0; i < lbSrc.Items.Count; i++)
{
if (lbSrc.Items[i].Selected == true)
{
lbSrc.Items.RemoveAt(lbSrc.SelectedIndex);
}
}
이 내가 생각 해낸 것입니다.
그냥 확인. (listBox.SelectedIndex> = 0) ...
은, selectedIndex의 제로 기반하므로 확인이 있어야한다 조기 - 당신의 prob desc에 근거한 접근 방식 & 아무것도 선택하지 않으면 ListBox.SelectedIndex는 -1을 반환합니다..
그래서 tvanfosson의 버튼 이벤트 처리기 코드를 일부 빌려 왔습니다.
protected void removeButton_Click(object sender, EventArgs e)
{
if (listBox.SelectedIndex < 0) { return; }
// do whatever you wish to here to remove the list item
}
당신은 함께 가야 할 수 있습니다
경우 : 사실
protected void removeButton_Click(object sender, EventArgs e)
{
if (listBox.SelectedIndex >= 0)
{
listBox.Items.RemoveAt(listBox.SelectedIndex);
}
}
컬렉션에서 항목을 제거하려면 뒤로 루프해야합니다.
for (int i=lbSrc.Items.Count - 1, i>=0, i--)
{
//code to check the selected state and remove the item
}
여러 항목을 제거하려면 항목을 역으로 구문 분석해야합니다.
protected void removeButton_Click(object sender, EventArgs e)
{
for (int i = listBox.Items.Count - 1; i >= 0; i--)
listBox.Items.RemoveAt(i);
}
평소와 같이 구문 분석하면 결과가 예상치 않게 나타날 수 있습니다. 예는 : 당신이 항목으로 무엇을보고 당신이 실제로 삭제됩니다 항목 1, 당신이 항목에 0을 제거하면 당신은 지금 당신이 믿는 것을 제거하려고하면 다음 항목 1은 새 항목을 0 된다 2.
으로 수정 @ jons911 관찰. – tvanfosson