(4).如何實現組件中的指定條目的移位:
移位包括二種,其一是向上移位,其二是向下移位。程序中具體的實現思路是:創建一個ListItem對象,並把要移位指定的條目中的內容先暫放在此新建的這個對象中。如果選定的是向上移位,就把當前選定的條目的上一個條目的值賦值給當前選定的條目,然後把剛才新建的對象的值,再賦值給選定條目的上一個條目,完成條目的向上移位操作。對於向下移位,可以仿效上面的做法,但和上面做法的主要區別在於不是選定條目的上一個條目了,而是選定條目的下一個條目。下列語句就是就是實現這種思路的具體的程序代碼:
//按鈕"向上移位"和"向下移位"事件處理程序
四. 本文中源程序代碼(listbox.ASPx)和執行的界面:
if ( ( sender == Up && lstItem . SelectedIndex > 0 ) || ( sender == Down && lstItem . SelectedIndex < lstItem . Items . Count - 1 ) )
{
int offset ;
if ( sender == Up )
{
offset = -1 ;
}
else
{
offset = 1 ;
}
ListItem lstTemp = new ListItem ( lstItem . SelectedItem . Text , lstItem . SelectedItem . Value ) ;
lstItem . Items [ lstItem.SelectedIndex ] .Text = lstItem . Items [ lstItem . SelectedIndex + offset ] . Text ;
lstItem . Items [ lstItem . SelectedIndex ] . Value = lstItem . Items [ lstItem . SelectedIndex + offset ] . Value ;
lstItem . Items [ lstItem . SelectedIndex + offset ] . Text = lstTemp . Text ;
lstItem . Items [ lstItem . SelectedIndex + offset ] . Value = lstTemp . Value ;
lstItem . SelectedIndex = lstItem . SelectedIndex + offset ;
}
下圖是執行了下列源程序代碼(listbox.ASPx)後,生成的界面: