自定义控件开发示例二

本实例开发的是一个由2个ListBox和8个ImageButton组成的列表组件
通过中间ImageButton可以控件列表项在两个列表中的位置
到全右移 个右移 个左移 全左移
通过右边ImageButton可以控件列表项在列表中的位置
到第一位 上一位 下一位 到最后位
示例图如下

因为时间关系 现只将示例源代码写出
示例代码

  1 None.gif using  System;
  2 None.gif using  System.Web.UI;
  3 None.gif using  System.Web.UI.WebControls;
  4 None.gif using  System.ComponentModel;
  5 None.gif using  System.Text;
  6 None.gif
  7 None.gif namespace  JX_CC_LC
  8 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
  9ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//// <summary>
 10InBlock.gif    /// LC_T02 的摘要描述。
 11InBlock.gif    /// 清单类型控件项类型2
 12InBlock.gif    /// 完成日期:2005-12-22
 13InBlock.gif    /// 编码人员:Free
 14ExpandedSubBlockEnd.gif    /// </summary>

 15InBlock.gif    //    [DefaultProperty("Text"), 
 16InBlock.gif    //        ToolboxData("<{0}:LC_T02 runat=server></{0}:LC_T02>")]
 17InBlock.gif    public class LC_T02 : WebControl, System.Web.UI.INamingContainer
 18ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
 19InBlock.gif        //声明所要用到的 ListBox ,ImageButton
 20InBlock.gif        private System.Web.UI.WebControls.ListBox ListBleft_LcT02;
 21InBlock.gif        private System.Web.UI.WebControls.ListBox ListBright_LcT02;
 22InBlock.gif
 23InBlock.gif        private System.Web.UI.WebControls.ImageButton ibt_AllToR;
 24InBlock.gif        private System.Web.UI.WebControls.ImageButton ibt_OneToR;
 25InBlock.gif        private System.Web.UI.WebControls.ImageButton ibt_OneToL;
 26InBlock.gif        private System.Web.UI.WebControls.ImageButton ibt_AllToL;
 27InBlock.gif
 28InBlock.gif        private System.Web.UI.WebControls.ImageButton ibt_First;
 29InBlock.gif        private System.Web.UI.WebControls.ImageButton ibt_Pre;
 30InBlock.gif        private System.Web.UI.WebControls.ImageButton ibt_Next;
 31InBlock.gif        private System.Web.UI.WebControls.ImageButton ibt_Last;
 32InBlock.gif
 33InBlock.gif        private int wid = 150, hei = 200;
 34InBlock.gif
 35InBlock.gif        protected override void CreateChildControls()
 36ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
 37InBlock.gif            this.Controls.Clear();
 38InBlock.gif            //this.ClearChildViewState();
 39InBlock.gif            //整体的大TABLE 
 40InBlock.gif            this.Controls.Add(new LiteralControl("<table><tr><td><table><tr><td rowspan=5>"));
 41InBlock.gif            //左半部分
 42InBlock.gif            this.ListBleft_LcT02 = new ListBox();
 43InBlock.gif            this.ListBleft_LcT02.Width = wid;
 44InBlock.gif            this.ListBleft_LcT02.Height = hei;
 45InBlock.gif            this.ListBleft_LcT02.ID = this.ID + "_leftListB";
 46InBlock.gif            //this.ListBleft_LcT02.AutoPostBack=true;
 47InBlock.gif            this.ListBleft_LcT02.MergeStyle(this.ControlStyle);
 48InBlock.gif            this.Controls.Add(this.ListBleft_LcT02);
 49InBlock.gif
 50InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr><tr><td>"));
 51InBlock.gif            this.ibt_AllToR = new ImageButton();
 52InBlock.gif            this.ibt_AllToR.ImageUrl = "img/alltoright.JPG";
 53InBlock.gif            this.ibt_AllToR.Attributes.Add("onclick"this.ID + "_allToR_click();return false;");
 54InBlock.gif            this.Controls.Add(this.ibt_AllToR);
 55InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr><tr><td>"));
 56InBlock.gif            this.ibt_OneToR = new ImageButton();
 57InBlock.gif            this.ibt_OneToR.ImageUrl = "img/onetoright.JPG";
 58InBlock.gif            this.ibt_OneToR.Attributes.Add("onclick"this.ID + "_oneToR_click();return false;");
 59InBlock.gif            this.Controls.Add(this.ibt_OneToR);
 60InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr><tr><td>"));
 61InBlock.gif            this.ibt_OneToL = new ImageButton();
 62InBlock.gif            this.ibt_OneToL.ImageUrl = "img/onetoleft.JPG";
 63InBlock.gif            this.ibt_OneToL.Attributes.Add("onclick"this.ID + "_oneToL_click();return false;");
 64InBlock.gif            this.Controls.Add(this.ibt_OneToL);
 65InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr><tr><td>"));
 66InBlock.gif            this.ibt_AllToL = new ImageButton();
 67InBlock.gif            this.ibt_AllToL.ImageUrl = "img/alltoleft.JPG";
 68InBlock.gif            this.ibt_AllToL.Attributes.Add("onclick"this.ID + "_allToL_click();return false;");
 69InBlock.gif            this.Controls.Add(this.ibt_AllToL);
 70InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr></table></td><td><table><tr><td rowspan=5>"));
 71InBlock.gif            //右半部分
 72InBlock.gif            this.ListBright_LcT02 = new ListBox();
 73InBlock.gif            this.ListBright_LcT02.Width = wid;
 74InBlock.gif            this.ListBright_LcT02.Height = hei;
 75InBlock.gif            this.ListBright_LcT02.ID = this.ID + "_rightListB";
 76InBlock.gif            //this.ListBright_LcT02.AutoPostBack=true;
 77InBlock.gif            this.ListBright_LcT02.MergeStyle(this.ControlStyle);
 78InBlock.gif            this.Controls.Add(this.ListBright_LcT02);
 79InBlock.gif
 80InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr><tr><td>"));
 81InBlock.gif            this.ibt_First = new ImageButton();
 82InBlock.gif            this.ibt_First.ImageUrl = "img/first.JPG";
 83InBlock.gif            this.ibt_First.Attributes.Add("onclick"this.ID + "_first_click();return false;");
 84InBlock.gif            this.Controls.Add(this.ibt_First);
 85InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr><tr><td>"));
 86InBlock.gif            this.ibt_Pre = new ImageButton();
 87InBlock.gif            this.ibt_Pre.ImageUrl = "img/pre.JPG";
 88InBlock.gif            this.ibt_Pre.Attributes.Add("onclick"this.ID + "_pre_click();return false;");
 89InBlock.gif            this.Controls.Add(this.ibt_Pre);
 90InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr><tr><td>"));
 91InBlock.gif            this.ibt_Next = new ImageButton();
 92InBlock.gif            this.ibt_Next.ImageUrl = "img/next.JPG";
 93InBlock.gif            this.ibt_Next.Attributes.Add("onclick"this.ID + "_next_click();return false;");
 94InBlock.gif            this.Controls.Add(this.ibt_Next);
 95InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr><tr><td>"));
 96InBlock.gif            this.ibt_Last = new ImageButton();
 97InBlock.gif            this.ibt_Last.ImageUrl = "img/last.JPG";
 98InBlock.gif            this.ibt_Last.Attributes.Add("onclick"this.ID + "_last_click();return false;");
 99InBlock.gif            this.Controls.Add(this.ibt_Last);
100InBlock.gif            this.Controls.Add(new LiteralControl("</td></tr></table></td>"));
101InBlock.gif            this.Controls.Add(new LiteralControl("</tr></table>"));
102InBlock.gif
103InBlock.gif            base.CreateChildControls();
104InBlock.gif
105InBlock.gif            //JS 部分
106InBlock.gif            //all to right
107InBlock.gif
108InBlock.gif            System.Text.StringBuilder strbuild = new StringBuilder();
109InBlock.gif            strbuild.Append("<script language='javascript'>");
110InBlock.gif
111InBlock.gif            strbuild.Append(" function " + this.ID + "_allToR_click(){");
112InBlock.gif            strbuild.Append(" var i=document.all." + this.ID + "_" + this.ID + "_leftListB.options.length;");
113InBlock.gif            strbuild.Append(" var i=document.all." + this.ID + "_" + this.ID + "_leftListB.options.length;");
114InBlock.gif            strbuild.Append(" var j=document.all." + this.ID + "_" + this.ID + "_rightListB.options.length;");
115InBlock.gif            strbuild.Append(" if(i>0){");
116InBlock.gif            strbuild.Append(" var tempvalue=document.all." + this.ID + "_" + this.ID + "_leftListB.options[0].value;");
117InBlock.gif            strbuild.Append(" var temptext=document.all." + this.ID + "_" + this.ID + "_leftListB.options[0].text;");
118InBlock.gif            strbuild.Append(" var temp=new Array([tempvalue,temptext]);");
119InBlock.gif            strbuild.Append(" for(ii=1;ii<i;ii++){");
120InBlock.gif            strbuild.Append(" var iv=document.all." + this.ID + "_" + this.ID + "_leftListB.options[ii].value;");
121InBlock.gif            strbuild.Append(" var it=document.all." + this.ID + "_" + this.ID + "_leftListB.options[ii].text;");
122InBlock.gif            strbuild.Append(" temp.push([iv,it]);");
123InBlock.gif            strbuild.Append(" }");
124InBlock.gif            strbuild.Append(" for(jj=0;jj<j;jj++){");
125InBlock.gif            strbuild.Append(" var jv=document.all." + this.ID + "_" + this.ID + "_rightListB.options[jj].value;");
126InBlock.gif            strbuild.Append(" var jt=document.all." + this.ID + "_" + this.ID + "_rightListB.options[jj].text;");
127InBlock.gif            strbuild.Append(" temp.push([jv,jt]);");
128InBlock.gif            strbuild.Append(" }");
129InBlock.gif            strbuild.Append(" temp.sort();");
130InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options.length=0;");
131InBlock.gif            strbuild.Append(" for(ss=0;ss<i+j;ss++){");
132InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[ss]=new Option(temp[ss][1],temp[ss][0]);");
133InBlock.gif            strbuild.Append(" }");
134InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_leftListB.options.length=0;");
135InBlock.gif            strbuild.Append("} }</script>");
136InBlock.gif
137InBlock.gif            //one to right
138InBlock.gif
139InBlock.gif            strbuild.Append("<script language='javascript'>");
140InBlock.gif            strbuild.Append(" function " + this.ID + "_oneToR_click(){");
141InBlock.gif            strbuild.Append(" var i=document.all." + this.ID + "_" + this.ID + "_leftListB.selectedIndex;");
142InBlock.gif            strbuild.Append(" var j=document.all." + this.ID + "_" + this.ID + "_rightListB.options.length;");
143InBlock.gif            strbuild.Append(" if(i>=0){");
144InBlock.gif            strbuild.Append(" var tempvalue=document.all." + this.ID + "_" + this.ID + "_leftListB.options[i].value;");
145InBlock.gif            strbuild.Append(" var temptext=document.all." + this.ID + "_" + this.ID + "_leftListB.options[i].text;");
146InBlock.gif            strbuild.Append(" var temp=new Array([tempvalue,temptext]);");
147InBlock.gif            strbuild.Append(" for(jj=0;jj<j;jj++){");
148InBlock.gif            strbuild.Append(" var jv=document.all." + this.ID + "_" + this.ID + "_rightListB.options[jj].value;");
149InBlock.gif            strbuild.Append(" var jt=document.all." + this.ID + "_" + this.ID + "_rightListB.options[jj].text;");
150InBlock.gif            strbuild.Append(" temp.push([jv,jt]);");
151InBlock.gif            strbuild.Append(" }");
152InBlock.gif            strbuild.Append(" temp.sort();");
153InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options.length=0;");
154InBlock.gif            strbuild.Append(" for(ss=0;ss<j+1;ss++){");
155InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[ss]=new Option(temp[ss][1],temp[ss][0]);");
156InBlock.gif            strbuild.Append(" }");
157InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_leftListB.remove(i);");
158InBlock.gif            strbuild.Append("} }</script>");
159InBlock.gif
160InBlock.gif            //one to left
161InBlock.gif
162InBlock.gif            strbuild.Append("<script language='javascript'>");
163InBlock.gif            strbuild.Append(" function " + this.ID + "_oneToL_click(){");
164InBlock.gif            strbuild.Append(" var i=document.all." + this.ID + "_" + this.ID + "_rightListB.selectedIndex;");
165InBlock.gif            strbuild.Append(" var j=document.all." + this.ID + "_" + this.ID + "_leftListB.options.length;");
166InBlock.gif            strbuild.Append(" if(i>=0){");
167InBlock.gif            strbuild.Append(" var tempvalue=document.all." + this.ID + "_" + this.ID + "_rightListB.options[i].value;");
168InBlock.gif            strbuild.Append(" var temptext=document.all." + this.ID + "_" + this.ID + "_rightListB.options[i].text;");
169InBlock.gif            strbuild.Append(" var temp=new Array([tempvalue,temptext]);");
170InBlock.gif            strbuild.Append(" for(jj=0;jj<j;jj++){");
171InBlock.gif            strbuild.Append(" var jv=document.all." + this.ID + "_" + this.ID + "_leftListB.options[jj].value;");
172InBlock.gif            strbuild.Append(" var jt=document.all." + this.ID + "_" + this.ID + "_leftListB.options[jj].text;");
173InBlock.gif            strbuild.Append(" temp.push([jv,jt]);");
174InBlock.gif            strbuild.Append(" }");
175InBlock.gif            strbuild.Append(" temp.sort();");
176InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_leftListB.options.length=0;");
177InBlock.gif            strbuild.Append(" for(ss=0;ss<j+1;ss++){");
178InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_leftListB.options[ss]=new Option(temp[ss][1],temp[ss][0]);");
179InBlock.gif            strbuild.Append(" }");
180InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.remove(i);");
181InBlock.gif            strbuild.Append("} }</script>");
182InBlock.gif
183InBlock.gif            //all to left
184InBlock.gif
185InBlock.gif            strbuild.Append("<script language='javascript'>");
186InBlock.gif            strbuild.Append(" function " + this.ID + "_allToL_click(){");
187InBlock.gif            strbuild.Append(" var i=document.all." + this.ID + "_" + this.ID + "_leftListB.options.length;");
188InBlock.gif            strbuild.Append(" var j=document.all." + this.ID + "_" + this.ID + "_rightListB.options.length;");
189InBlock.gif            strbuild.Append(" if(j>0){");
190InBlock.gif            strbuild.Append(" var tempvalue=document.all." + this.ID + "_" + this.ID + "_rightListB.options[0].value;");
191InBlock.gif            strbuild.Append(" var temptext=document.all." + this.ID + "_" + this.ID + "_rightListB.options[0].text;");
192InBlock.gif            strbuild.Append(" var temp=new Array([tempvalue,temptext]);");
193InBlock.gif            strbuild.Append(" for(jj=1;jj<j;jj++){");
194InBlock.gif            strbuild.Append(" var jv=document.all." + this.ID + "_" + this.ID + "_rightListB.options[jj].value;");
195InBlock.gif            strbuild.Append(" var jt=document.all." + this.ID + "_" + this.ID + "_rightListB.options[jj].text;");
196InBlock.gif            strbuild.Append(" temp.push([jv,jt]);");
197InBlock.gif            strbuild.Append(" }");
198InBlock.gif            strbuild.Append(" for(ii=0;ii<i;ii++){");
199InBlock.gif            strbuild.Append(" var iv=document.all." + this.ID + "_" + this.ID + "_leftListB.options[ii].value;");
200InBlock.gif            strbuild.Append(" var it=document.all." + this.ID + "_" + this.ID + "_leftListB.options[ii].text;");
201InBlock.gif            strbuild.Append(" temp.push([iv,it]);");
202InBlock.gif            strbuild.Append(" }");
203InBlock.gif            strbuild.Append(" temp.sort();");
204InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_leftListB.options.length=0;");
205InBlock.gif            strbuild.Append(" for(ss=0;ss<i+j;ss++){");
206InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_leftListB.options[ss]=new Option(temp[ss][1],temp[ss][0]);");
207InBlock.gif            strbuild.Append(" }");
208InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options.length=0;");
209InBlock.gif            strbuild.Append("} }</script>");
210InBlock.gif
211InBlock.gif            //first
212InBlock.gif
213InBlock.gif            strbuild.Append("<script language='javascript'>");
214InBlock.gif            strbuild.Append(" function " + this.ID + "_first_click(){");
215InBlock.gif            strbuild.Append(" var i=document.all." + this.ID + "_" + this.ID + "_rightListB.options.length;");
216InBlock.gif            strbuild.Append(" var j=document.all." + this.ID + "_" + this.ID + "_rightListB.selectedIndex;");
217InBlock.gif            strbuild.Append(" if(i>1&&j>0){");
218InBlock.gif            strbuild.Append(" var tempValue=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].value;");
219InBlock.gif            strbuild.Append(" var tempText=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].text;");
220InBlock.gif            strbuild.Append(" for(var h=j;h>0;h--){");
221InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[h].value=document.all." + this.ID + "_" + this.ID + "_rightListB.options[h-1].value;");
222InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[h].text=document.all." + this.ID + "_" + this.ID + "_rightListB.options[h-1].text;");
223InBlock.gif            strbuild.Append(" }");
224InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[0].value=tempValue;");
225InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[0].text=tempText;");
226InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.selectedIndex=0;");
227InBlock.gif            strbuild.Append("} }</script>");
228InBlock.gif
229InBlock.gif            //pre
230InBlock.gif            strbuild.Append("<script language='javascript'>");
231InBlock.gif            strbuild.Append(" function " + this.ID + "_pre_click(){");
232InBlock.gif            strbuild.Append(" var i=document.all." + this.ID + "_" + this.ID + "_rightListB.options.length;");
233InBlock.gif            strbuild.Append(" var j=document.all." + this.ID + "_" + this.ID + "_rightListB.selectedIndex;");
234InBlock.gif            strbuild.Append(" if(i>1&&j>0){");
235InBlock.gif            strbuild.Append(" var tempValue=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].value;");
236InBlock.gif            strbuild.Append(" var tempText=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].text;");
237InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].value=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j-1].value;");
238InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].text=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j-1].text;");
239InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[j-1].value=tempValue;");
240InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[j-1].text=tempText;");
241InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.selectedIndex=j-1;");
242InBlock.gif            strbuild.Append("} }</script>");
243InBlock.gif
244InBlock.gif            //next
245InBlock.gif
246InBlock.gif            strbuild.Append("<script language='javascript'>");
247InBlock.gif            strbuild.Append(" function " + this.ID + "_next_click(){");
248InBlock.gif            strbuild.Append(" var i=document.all." + this.ID + "_" + this.ID + "_rightListB.options.length;");
249InBlock.gif            strbuild.Append(" var j=document.all." + this.ID + "_" + this.ID + "_rightListB.selectedIndex;");
250InBlock.gif            strbuild.Append(" if(i>1&&j<i-1){");
251InBlock.gif            strbuild.Append(" var tempValue=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].value;");
252InBlock.gif            strbuild.Append(" var tempText=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].text;");
253InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].value=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j+1].value;");
254InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].text=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j+1].text;");
255InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[j+1].value=tempValue;");
256InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[j+1].text=tempText;");
257InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.selectedIndex=j+1;");
258InBlock.gif            strbuild.Append("} }</script>");
259InBlock.gif
260InBlock.gif            //last
261InBlock.gif
262InBlock.gif            strbuild.Append("<script language='javascript'>");
263InBlock.gif            strbuild.Append(" function " + this.ID + "_last_click(){");
264InBlock.gif            strbuild.Append(" var i=document.all." + this.ID + "_" + this.ID + "_rightListB.options.length;");
265InBlock.gif            strbuild.Append(" var j=document.all." + this.ID + "_" + this.ID + "_rightListB.selectedIndex;");
266InBlock.gif            strbuild.Append(" if(i>1&&j<i-1){");
267InBlock.gif            strbuild.Append(" var tempValue=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].value;");
268InBlock.gif            strbuild.Append(" var tempText=document.all." + this.ID + "_" + this.ID + "_rightListB.options[j].text;");
269InBlock.gif            strbuild.Append(" for(var h=j;h<i-1;h++){");
270InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[h].value=document.all." + this.ID + "_" + this.ID + "_rightListB.options[h+1].value;");
271InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[h].text=document.all." + this.ID + "_" + this.ID + "_rightListB.options[h+1].text;");
272InBlock.gif            strbuild.Append("}");
273InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[i-1].value=tempValue;");
274InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.options[i-1].text=tempText;");
275InBlock.gif            strbuild.Append(" document.all." + this.ID + "_" + this.ID + "_rightListB.selectedIndex=i-1;");
276InBlock.gif            strbuild.Append("} }</script>");
277InBlock.gif            this.Controls.Add(new LiteralControl(strbuild.ToString()));
278ExpandedSubBlockEnd.gif        }

279InBlock.gif
280InBlock.gif        protected override void Render(HtmlTextWriter writer)
281ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
282InBlock.gif            this.EnsureChildControls();
283InBlock.gif            base.Render(writer);
284ExpandedSubBlockEnd.gif        }

285InBlock.gif
286InBlock.gif
287InBlock.gif        //控制图像显示
288InBlock.gif        [Bindable(false),
289InBlock.gif        Category("imagebuttonsrc"),
290InBlock.gif        DefaultValue("")]
291InBlock.gif        //全右移
292InBlock.gif        public string alltoright_src
293ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
294InBlock.gif            get
295ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
296InBlock.gif                this.EnsureChildControls();
297InBlock.gif                return ((ImageButton)Controls[3]).ImageUrl;
298InBlock.gif
299ExpandedSubBlockEnd.gif            }

300InBlock.gif            set
301ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
302InBlock.gif                this.EnsureChildControls();
303InBlock.gif                ((ImageButton)Controls[3]).ImageUrl = value;
304ExpandedSubBlockEnd.gif            }

305ExpandedSubBlockEnd.gif        }

306InBlock.gif        //个右移
307InBlock.gif        public string onetoright_src
308ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
309InBlock.gif            get
310ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
311InBlock.gif                this.EnsureChildControls();
312InBlock.gif                return ((ImageButton)Controls[5]).ImageUrl;
313ExpandedSubBlockEnd.gif            }

314InBlock.gif            set
315ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
316InBlock.gif                this.EnsureChildControls();
317InBlock.gif                ((ImageButton)Controls[5]).ImageUrl = value;
318ExpandedSubBlockEnd.gif            }

319ExpandedSubBlockEnd.gif        }

320InBlock.gif        //个左移
321InBlock.gif        public string onetoleft_src
322ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
323InBlock.gif            get
324ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
325InBlock.gif                this.EnsureChildControls();
326InBlock.gif                return ((ImageButton)Controls[7]).ImageUrl;
327ExpandedSubBlockEnd.gif            }

328InBlock.gif            set
329ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
330InBlock.gif                this.EnsureChildControls();
331InBlock.gif                ((ImageButton)Controls[7]).ImageUrl = value;
332ExpandedSubBlockEnd.gif            }

333ExpandedSubBlockEnd.gif        }

334InBlock.gif        //全左移
335InBlock.gif        public string alltoleft_src
336ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
337InBlock.gif            get
338ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
339InBlock.gif                this.EnsureChildControls();
340InBlock.gif                return ((ImageButton)Controls[9]).ImageUrl;
341ExpandedSubBlockEnd.gif            }

342InBlock.gif            set
343ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
344InBlock.gif                this.EnsureChildControls();
345InBlock.gif                ((ImageButton)Controls[9]).ImageUrl = value;
346ExpandedSubBlockEnd.gif            }

347ExpandedSubBlockEnd.gif        }

348InBlock.gif        //最先
349InBlock.gif        public string first_src
350ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
351InBlock.gif            get
352ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
353InBlock.gif                this.EnsureChildControls();
354InBlock.gif                return ((ImageButton)Controls[13]).ImageUrl;
355ExpandedSubBlockEnd.gif            }

356InBlock.gif            set
357ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
358InBlock.gif                this.EnsureChildControls();
359InBlock.gif                ((ImageButton)Controls[13]).ImageUrl = value;
360ExpandedSubBlockEnd.gif            }

361ExpandedSubBlockEnd.gif        }

362InBlock.gif        //前一
363InBlock.gif        public string pre_src
364ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
365InBlock.gif            get
366ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
367InBlock.gif                this.EnsureChildControls();
368InBlock.gif                return ((ImageButton)Controls[15]).ImageUrl;
369ExpandedSubBlockEnd.gif            }

370InBlock.gif            set
371ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
372InBlock.gif                this.EnsureChildControls();
373InBlock.gif                ((ImageButton)Controls[15]).ImageUrl = value;
374ExpandedSubBlockEnd.gif            }

375ExpandedSubBlockEnd.gif        }

376InBlock.gif        //后一
377InBlock.gif        public string next_src
378ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
379InBlock.gif            get
380ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
381InBlock.gif                this.EnsureChildControls();
382InBlock.gif                return ((ImageButton)Controls[17]).ImageUrl;
383ExpandedSubBlockEnd.gif            }

384InBlock.gif            set
385ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
386InBlock.gif                this.EnsureChildControls();
387InBlock.gif                ((ImageButton)Controls[17]).ImageUrl = value;
388ExpandedSubBlockEnd.gif            }

389ExpandedSubBlockEnd.gif        }

390InBlock.gif        //最后
391InBlock.gif        public string last_src
392ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
393InBlock.gif            get
394ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
395InBlock.gif                this.EnsureChildControls();
396InBlock.gif                return ((ImageButton)Controls[19]).ImageUrl;
397ExpandedSubBlockEnd.gif            }

398InBlock.gif            set
399ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
400InBlock.gif                this.EnsureChildControls();
401InBlock.gif                ((ImageButton)Controls[19]).ImageUrl = value;
402ExpandedSubBlockEnd.gif            }

403ExpandedSubBlockEnd.gif        }

404InBlock.gif
405InBlock.gif        //公开左右LISTBOX的相关属性和方法
406InBlock.gif        //iDataSource
407InBlock.gif        public object iDataSourceL
408ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
409InBlock.gif            get
410ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
411InBlock.gif                this.EnsureChildControls();
412InBlock.gif                return ((ListBox)Controls[1]).DataSource;
413ExpandedSubBlockEnd.gif            }

414InBlock.gif            set
415ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
416InBlock.gif                this.EnsureChildControls();
417InBlock.gif                ((ListBox)Controls[1]).DataSource = value;
418ExpandedSubBlockEnd.gif            }

419ExpandedSubBlockEnd.gif        }

420InBlock.gif        public object iDataSourceR
421ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
422InBlock.gif            get
423ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
424InBlock.gif                this.EnsureChildControls();
425InBlock.gif                return ((ListBox)Controls[11]).DataSource;
426ExpandedSubBlockEnd.gif            }

427InBlock.gif            set
428ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
429InBlock.gif                this.EnsureChildControls();
430InBlock.gif                ((ListBox)Controls[11]).DataSource = value;
431ExpandedSubBlockEnd.gif            }

432ExpandedSubBlockEnd.gif        }

433InBlock.gif        //
434InBlock.gif        public string iDataTextFieldL
435ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
436InBlock.gif            get
437ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
438InBlock.gif                this.EnsureChildControls();
439InBlock.gif                return ((ListBox)Controls[1]).DataTextField;
440ExpandedSubBlockEnd.gif            }

441InBlock.gif            set
442ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
443InBlock.gif                this.EnsureChildControls();
444InBlock.gif                ((ListBox)Controls[1]).DataTextField = value;
445ExpandedSubBlockEnd.gif            }

446InBlock.gif
447ExpandedSubBlockEnd.gif        }

448InBlock.gif        public string iDataValueFieldL
449ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
450InBlock.gif            get
451ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
452InBlock.gif                this.EnsureChildControls();
453InBlock.gif                return ((ListBox)Controls[1]).DataValueField;
454ExpandedSubBlockEnd.gif            }

455InBlock.gif            set
456ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
457InBlock.gif                this.EnsureChildControls();
458InBlock.gif                ((ListBox)Controls[1]).DataValueField = value;
459ExpandedSubBlockEnd.gif            }

460InBlock.gif
461ExpandedSubBlockEnd.gif        }

462InBlock.gif        //
463InBlock.gif        public string iDataTextFieldR
464ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
465InBlock.gif            get
466ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
467InBlock.gif                this.EnsureChildControls();
468InBlock.gif                return ((ListBox)Controls[11]).DataTextField;
469ExpandedSubBlockEnd.gif            }

470InBlock.gif            set
471ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
472InBlock.gif                this.EnsureChildControls();
473InBlock.gif                ((ListBox)Controls[11]).DataTextField = value;
474ExpandedSubBlockEnd.gif            }

475InBlock.gif
476ExpandedSubBlockEnd.gif        }

477InBlock.gif        public string iDataValueFieldR
478ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
479InBlock.gif            get
480ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
481InBlock.gif                this.EnsureChildControls();
482InBlock.gif                return ((ListBox)Controls[11]).DataValueField;
483ExpandedSubBlockEnd.gif            }

484InBlock.gif            set
485ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
486InBlock.gif                this.EnsureChildControls();
487InBlock.gif                ((ListBox)Controls[11]).DataValueField = value;
488ExpandedSubBlockEnd.gif            }

489InBlock.gif
490ExpandedSubBlockEnd.gif        }

491InBlock.gif        //iDataBind
492InBlock.gif        public void iDataBindL()
493ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
494InBlock.gif            this.EnsureChildControls();
495InBlock.gif            ((ListBox)Controls[1]).DataBind();
496ExpandedSubBlockEnd.gif        }

497InBlock.gif        public void iDataBindR()
498ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
499InBlock.gif            this.EnsureChildControls();
500InBlock.gif            ((ListBox)Controls[11]).DataBind();
501ExpandedSubBlockEnd.gif        }

502InBlock.gif        //得到目前的索引 iSelectIndex
503InBlock.gif        public int iSelectIndexL()
504ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
505InBlock.gif            this.EnsureChildControls();
506InBlock.gif            int i = ((ListBox)Controls[1]).SelectedIndex;
507InBlock.gif            return i;
508ExpandedSubBlockEnd.gif        }

509InBlock.gif        public int iSelectIndexR()
510ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
511InBlock.gif            this.EnsureChildControls();
512InBlock.gif            int i = ((ListBox)Controls[11]).SelectedIndex;
513InBlock.gif            return i;
514ExpandedSubBlockEnd.gif        }

515InBlock.gif        //得到ITEM的个数 iCountItem
516InBlock.gif        public int iCountItemL()
517ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
518InBlock.gif            this.EnsureChildControls();
519InBlock.gif            int i = ((ListBox)Controls[1]).Items.Count;
520InBlock.gif            return i;
521ExpandedSubBlockEnd.gif        }

522InBlock.gif        public int iCountItemR()
523ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
524InBlock.gif            this.EnsureChildControls();
525InBlock.gif            int i = ((ListBox)Controls[11]).Items.Count;
526InBlock.gif            return i;
527ExpandedSubBlockEnd.gif        }

528InBlock.gif        //添加一个ITEM 到LISTBOX
529InBlock.gif        public void iAddItemL(string addText, string addValue)
530ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
531InBlock.gif            this.EnsureChildControls();
532InBlock.gif            ListItem temp = new ListItem();
533InBlock.gif            temp.Text = addText.Trim().ToString();
534InBlock.gif            temp.Value = addValue.Trim().ToString();
535InBlock.gif            ((ListBox)Controls[1]).Items.Add(temp);
536ExpandedSubBlockEnd.gif        }

537InBlock.gif        public void iAddItemL(string addText)
538ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
539InBlock.gif            this.EnsureChildControls();
540InBlock.gif            ListItem temp = new ListItem();
541InBlock.gif            temp.Text = addText.Trim().ToString();
542InBlock.gif            ((ListBox)Controls[1]).Items.Add(temp);
543ExpandedSubBlockEnd.gif        }

544InBlock.gif        public void iAddItemR(string addText, string addValue)
545ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
546InBlock.gif            this.EnsureChildControls();
547InBlock.gif            ListItem temp = new ListItem();
548InBlock.gif            temp.Text = addText.Trim().ToString();
549InBlock.gif            temp.Value = addValue.Trim().ToString();
550InBlock.gif            ((ListBox)Controls[11]).Items.Add(temp);
551ExpandedSubBlockEnd.gif        }

552InBlock.gif        public void iAddItemR(string addText)
553ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
554InBlock.gif            this.EnsureChildControls();
555InBlock.gif            ListItem temp = new ListItem();
556InBlock.gif            temp.Text = addText.Trim().ToString();
557InBlock.gif            ((ListBox)Controls[11]).Items.Add(temp);
558ExpandedSubBlockEnd.gif        }

559InBlock.gif        //返回当前所选的Item项
560InBlock.gif        public ListItem iSelectItemL()
561ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
562InBlock.gif            this.EnsureChildControls();
563InBlock.gif            int index = ((ListBox)Controls[1]).SelectedIndex;
564InBlock.gif            int i = ((ListBox)Controls[1]).Items.Count;
565InBlock.gif            if (index >= 0 && index < i)
566ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
567InBlock.gif                return ((ListBox)Controls[1]).Items[index];
568ExpandedSubBlockEnd.gif            }

569InBlock.gif            else
570ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
571InBlock.gif                return null;
572ExpandedSubBlockEnd.gif            }

573ExpandedSubBlockEnd.gif        }

574InBlock.gif        public ListItem iSelectItemR()
575ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
576InBlock.gif            this.EnsureChildControls();
577InBlock.gif            int index = ((ListBox)Controls[11]).SelectedIndex;
578InBlock.gif            int i = ((ListBox)Controls[11]).Items.Count;
579InBlock.gif            if (index >= 0 && index < i)
580ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
581InBlock.gif                return ((ListBox)Controls[11]).Items[index];
582ExpandedSubBlockEnd.gif            }

583InBlock.gif            else
584ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
585InBlock.gif                return null;
586ExpandedSubBlockEnd.gif            }

587ExpandedSubBlockEnd.gif        }

588InBlock.gif        //选择LISTBOX中第index项
589InBlock.gif        public ListItem iSelectItemL(int index)
590ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
591InBlock.gif            this.EnsureChildControls();
592InBlock.gif            int i = ((ListBox)Controls[1]).Items.Count;
593InBlock.gif            if (index >= 0 && index < i)
594ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
595InBlock.gif                return ((ListBox)Controls[1]).Items[index];
596ExpandedSubBlockEnd.gif            }

597InBlock.gif            else
598ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
599InBlock.gif                return null;
600ExpandedSubBlockEnd.gif            }

601ExpandedSubBlockEnd.gif        }

602InBlock.gif        public ListItem iSelectItemR(int index)
603ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
604InBlock.gif            this.EnsureChildControls();
605InBlock.gif            int i = ((ListBox)Controls[11]).Items.Count;
606InBlock.gif            if (index >= 0 && index < i)
607ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
608InBlock.gif                return ((ListBox)Controls[11]).Items[index];
609ExpandedSubBlockEnd.gif            }

610InBlock.gif            else
611ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
612InBlock.gif                return null;
613ExpandedSubBlockEnd.gif            }

614ExpandedSubBlockEnd.gif        }

615InBlock.gif        //清空LISTBOX
616InBlock.gif        public void iClearItemL()
617ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
618InBlock.gif            this.EnsureChildControls();
619InBlock.gif            ((ListBox)Controls[1]).Items.Clear();
620ExpandedSubBlockEnd.gif        }

621InBlock.gif        public void iClearItemR()
622ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
623InBlock.gif            this.EnsureChildControls();
624InBlock.gif            ((ListBox)Controls[11]).Items.Clear();
625ExpandedSubBlockEnd.gif        }

626InBlock.gif        //删除目前的所选值
627InBlock.gif        public void iRemoveItemL()
628ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
629InBlock.gif            this.EnsureChildControls();
630InBlock.gif            int i = ((ListBox)Controls[1]).SelectedIndex;
631InBlock.gif            if (i >= 0)
632ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
633InBlock.gif                ((ListBox)Controls[1]).Items.Remove(((ListBox)Controls[1]).Items[i]);
634ExpandedSubBlockEnd.gif            }

635ExpandedSubBlockEnd.gif        }

636InBlock.gif        public void iRemoveAtItemL(int index)
637ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
638InBlock.gif            this.EnsureChildControls();
639InBlock.gif            int i = ((ListBox)Controls[1]).Items.Count;
640InBlock.gif            if (index > 0 && index < i)
641ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
642InBlock.gif                ((ListBox)Controls[1]).Items.Remove(((ListBox)Controls[1]).Items[index]);
643ExpandedSubBlockEnd.gif            }

644ExpandedSubBlockEnd.gif        }

645InBlock.gif
646InBlock.gif        public void iRemoveItemR()
647ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
648InBlock.gif            this.EnsureChildControls();
649InBlock.gif            int i = ((ListBox)Controls[11]).SelectedIndex;
650InBlock.gif            if (i >= 0)
651ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
652InBlock.gif                ((ListBox)Controls[11]).Items.Remove(((ListBox)Controls[11]).Items[i]);
653ExpandedSubBlockEnd.gif            }

654ExpandedSubBlockEnd.gif        }

655InBlock.gif        public void iRemoveAtItemR(int index)
656ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
657InBlock.gif            this.EnsureChildControls();
658InBlock.gif            int i = ((ListBox)Controls[11]).Items.Count;
659InBlock.gif            if (index > 0 && index < i)
660ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
661InBlock.gif                ((ListBox)Controls[11]).Items.Remove(((ListBox)Controls[11]).Items[index]);
662ExpandedSubBlockEnd.gif            }

663ExpandedSubBlockEnd.gif        }

664InBlock.gif        //重载宽度
665InBlock.gif        public override Unit Width
666ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
667InBlock.gif            get
668ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
669InBlock.gif                return base.Width;
670ExpandedSubBlockEnd.gif            }

671InBlock.gif            set
672ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
673InBlock.gif                base.Width = value;
674InBlock.gif                this.EnsureChildControls();
675InBlock.gif                ((ListBox)Controls[1]).Width = System.Convert.ToInt32(value.Value * 0.4);
676InBlock.gif                ((ListBox)Controls[11]).Width = System.Convert.ToInt32(value.Value * 0.4);
677ExpandedSubBlockEnd.gif            }

678ExpandedSubBlockEnd.gif        }

679InBlock.gif
680InBlock.gif        //重载高度
681InBlock.gif        public override Unit Height
682ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
683InBlock.gif            get
684ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
685InBlock.gif                return base.Height;
686ExpandedSubBlockEnd.gif            }

687InBlock.gif            set
688ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
689InBlock.gif                base.Height = value;
690InBlock.gif                this.EnsureChildControls();
691InBlock.gif                ((ListBox)Controls[1]).Height = System.Convert.ToInt32(value.Value * 0.98);
692InBlock.gif                ((ListBox)Controls[11]).Height = System.Convert.ToInt32(value.Value * 0.98);
693ExpandedSubBlockEnd.gif            }

694ExpandedSubBlockEnd.gif        }

695InBlock.gif
696InBlock.gif
697ExpandedSubBlockEnd.gif    }
//class
698ExpandedBlockEnd.gif}
// namespace
699 None.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值