




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
控件大全备课讲稿 控件的使用1.为窗体添加控件?在窗体设计器中打开要添加控件的窗体,然后打开“工具箱”面板。 ?在“解决方案资源管理器”中双击相应的窗体节点(比如一个Form1.cs文件)就可以在窗体设计器中显示该窗体。 ?可以直接使用代码向窗体添加控件。 ?把一个按钮控件btnNew添加到窗体中Button btnNew=new Button();?两种类型的控件?具有用户界面的控件会出现在窗体中,并且在运行时可见。 ?没有用户界面的控件主要用于在后台提供一些功能,在运行时不可见。 当在窗体设计器中把它们添加到窗体中时,这些控件将出现在窗体设计器下面的窗格中。 2.调整控件?对控件的调整,包括对齐、大小调整和间隔等等。 ?选中要调整的控件,使用“格式”菜单或是快捷菜单中的命令或者工具栏上的格式按钮进行调整。 在调整控件的格式时,将按照基准控件对选择的多个控件进行调整。 ?使用Ctrl键或Shift键选择多个控件,也可以拖动鼠标选择一个控件范围,此时最先进入窗体的控件将作为调整的基准控件。 被选中的控件中,基准控件周围是白色方框,其他控件周围是黑色方框。 2)在窗体中定位控件?两种定位方法?在窗体设计器中通过拖动控件进行定位?通过指定控件的Location属性来定位控件?控件的位置相对于包含它的容器控件,单位为像素。 在选中控件之后可以使用箭头键微调,更精确地定位控件。 ?在属性窗口中修改控件的Location属性改变控件位置直接输入控件位置值,X和Y值以逗号隔开,或是展开Location属性节点,分别输入X坐标值和Y坐标值。 ?在代码中设置控件位置?btnNew.Location=new System.Drawing.Point(100,100);?btnNew.Left=100;btnNew.Top+=200;3)改变控件大小?在窗体设计器中改变控件大小的方法?使用鼠标直接拖动控件大小?在属性窗口中改变控件的Size属性值?在窗体中选中控件,然后使用Shift+箭头键来微调控件大小?在代码中通过Size属性设置控件大小?btnNew.Size=new System.Drawing.Size(100,100);?可以使用Bounds属性同时设置控件的位置和大小?btnNew.Bounds=new System.Drawing.Rectangle(10,10,100,100);4)固定控件?使用Anchor属性使控件的位置相对于窗体某一边固定,改变窗体大小时,控件的位置将会随之改变而保持这个相对距离不变。 ?使用属性窗口改变Anchor属性时,单击控件周围的上下左右的某个方框使之变成深灰色,就表示控件相对于窗体这条边的距离固定?System.Windows.Forms命名空间中包含了一个枚举类型AnchorStyles,其中定义了Anchor属性可以组合的16种不同属性值。 可以在代码中设置Anchor属性。 ?控件到窗体4条边的距离都保持不变btnNew.Anchor=AnchorStyles.All;?控件到窗体底边和左边的距离保持不变btnNew.Anchor=AnchorStyles.Bottom|AnchorStyles.Left;?控件没有固定到任何一边btnNew.Anchor=AnchorStyles.None;?控件还可以停靠在窗体的某一边上,通过控件的Dock属性进行设置。 ?使用属性窗口设置Dock属性时会显示一个设置窗口,单击该窗口中的按钮可以设置相应的Dock属性值。 这些值在枚举类型System.Windows.Forms.DockStyle中定义。 ?通过代码设置按钮控件btnNew停靠在窗体的顶边上(这时btnNew的顶边和底边自动扩展到窗体顶边大小,并且改变窗体大小时,btnNew的大小会随之改变)?btnNew.Dock=System.Windows.Forms.DockStyle.Top;5)设置控件的Tab键顺序?控件的Tab键顺序决定了用户使用Tab键切换时的顺序。 默认情况下,控件的Tab键顺序就是控件添加到窗体的中的顺序。 ?选择“视图|Tab键顺序”命令把窗体设计器切换到Tab键顺序选择模式,再次选择该命令可以回到设计模式。 ?在Tab顺序选择模式中,可以单击各个控件把它们的Tab键顺序设置成单击控件的顺序?也可以通过属性窗口设置各个控件的TabIndex属性来改变Tab键顺序?位于分组框中的控件的TabIndex也按照这个规则来修改。 如动态生成按钮private voidForm1_Load(object sender,EventArgs e)Button btnNew=new Button();btnNew.Text=动态按钮;btnNew.Name=Button5;btnNew.BringToFront();btnNew.Bounds=new System.Drawing.Rectangle(10,10,75,23);btnNew.Anchor=AnchorStyles.Bottom;this.Controls.Add(btnNew);btnNew.Click+=new System.EventHandler(this.Button5_Click);private voidButton5_Click(object sender,EventArgs e)textBox1.Text=;3.控件的分类介绍?按钮类控件?文本类控件?逻辑分组控件?滚动类控件?工具栏和状态栏?视图类控件?其他控件?控件种类繁多,在学习时注意对比和触类旁通。 按钮类控件?都是从类ButtonBase派生,这个类提供了按钮类控件通用的基本操作。 ?按钮控件?单选按钮控件?复选框控件按钮?使用Button类进行封装,包含有属性、方法和简化按钮互用任务的事件。 可以在按钮中显示文字或图像,还可以调整按钮控件的显示方式。 ?使用Button类的公开属性控制按钮外观?FlatStyle定义如何绘制控件的边缘,时一个枚举类型,可选值有Flat(平面的)、PopUp(由平面到凸起)、Standard(三维边界)、System(根据操作系统决定)?BackColor指定控件的背景色,默认为KnownColor.Control(这是操作系统为控件定义的默认颜色)。 ?ForeColor指定控件的文字颜色,默认为KnownColor.ControlText。 ?Text控制显示在控件中的文字。 ?TextAlign指定按钮文字的对齐方式;?ImageAlign指定图像的对齐方式。 ?注意?可以在属性窗口设置属性,可以在代码中对属性进行设置。 例如修改按钮背景色,可以使用代码btnNew.BackColor=Color.Red;?“&”号的使用。 作为字符的前缀,通过Alt相应的字符实现点击按钮的操作。 例如,btnNew.Text=“&Ok”;?一般使用默认的背景和前景控件颜色。 ?用Button类的公开属性控制按钮操作?这里讨论的属性对各类控件普遍使用。 这些属性都继承于Control基类。 ?Enabled激活(true)或禁用(false)按钮。 禁用时无法选中按钮,且按钮文字将变为系统禁用文本的颜色。 ?Visible控件是否可见。 有时隐藏控件比简单禁用控件更合适,例如控件只用于特殊情况,就可以在一般情况下将它隐藏。 这还能降低窗体的杂乱性。 ?btnNew.Visible=false;?也可以使用方法隐藏控件btnNew.Hide();显示控件btnNew.Show();public partialclass Form3:Formpublic Form3()InitializeComponent();public intcount=0;Button btnNew=new Button();private voidForm3_Load(object sender,EventArgs e)btnNew.Text=动态按钮;btnNew.Name=Button5;btnNew.BringToFront();btnNew.Bounds=new System.Drawing.Rectangle(10,10,75,23);btnNew.Anchor=AnchorStyles.Bottom;this.Controls.Add(btnNew);btnNew.Click+=new System.EventHandler(this.Button5_Click);private voidButton5_Click(object sender,EventArgs e)textBox1.Text=no1;count+=1;if(count0)btnNew.Enabled=false;/btnNew.Hide();?按钮事件?Click事件单击按钮或是在按钮具有焦点时按下空格键都将触发Click事件。 在设计器中可以通过双击按钮来进入代码器添加Click事件的处理代码。 ?把按钮与DialogResult值联系起来?窗体DialogResult属性值可以为OK、Yes、No、Abort、Ignore、Retry、Cancel、None等。 当窗体作为对话框使用时,在窗体关闭前这个值应该与窗体联系起来,并且在调用ShowDialog方法时还应该将它作为结果返回。 ?可以使用按钮控件的DialogResult属性来为窗体设置DialogResult属性。 当该按钮用于关闭窗体时,DialogResult的值就将通过窗体传递。 ?closeButton.DialogResult=DialogResult.OK;例将Form2的文本框中的值传递到Form1的文本框中。 ?Form2窗体public partialclass Form2:Formpublic Form2()InitializeComponent();public stringMystringgetreturn this.textBox1.Text;private voidbutton1_Click(object sender,EventArgs e)this.Close();?Form1窗体public partialclass Form1:Formpublic Form1()InitializeComponent();private voidbutton1_Click_1(object sender,EventArgs e)Form2f2=new Form2();DialogResult mydr=f2.ShowDialog();if(mydr=DialogResult.OK)textBox1.Focus();textBox1.Text=f2.Mystring;单选按钮?使用RadioButton类封装,通常用来执行多选一的操作。 单选按钮通常分组使用,在一个组中,只能有一个按钮处于选中状态。 ?单选按钮属性?除了Button中讨论的一些属性之外,单选按钮还比较常用的属性还有?Checked属性用来确定单选按钮是否被选择?Appearance属性用来确定单选按钮的显示形式,有两个可能值Appearance.Button(显示为按钮),Appearance.Normal(正常显示)?单选按钮的常用事件?CheckedChanged事件当单选按钮的Checked属性发生变化时,会触发这个事件,可以使用这个事件根据单选按钮的状态变化进行适当的操作。 在设计器中双击单选按钮将进入代码器中这个事件的定义部分。 public partialclass Form4:Formpublic Form4()InitializeComponent();private voidradioButton1_CheckedChanged(object sender,EventArgs e)textBox1.Text=radioButton1.Text;private voidradioButton2_CheckedChanged(object sender,EventArgs e)textBox1.Text=radioButton2.Text;复选框?用CheckBox进行封装。 复选框与单选按钮极为相似,只是复选框允许零个或多个选择。 ?复选框属性?也具有RadioButton中介绍的一些属性。 ?Checked属性获取或设置复选框是否选中。 但与单选按钮不同之处是,复选框可以支持3种状态(增加一种不确定状态)。 这需要用到ThreeState属性,默认值为false,设为true将激活第三种状态。 ?CheckState属性用来判断或设置复选框状态,有三种可能Checked,Unchecked,Indeterminate(未被选中也未被清除,且显示禁用复选标记)。 复选框处于选中或不确定状态时,Checked属性都为true。 ?当复选框的Appearance属性设置成Button时,不确定状态是平面按钮,选中状态是按下的按钮,未选定状态是凸起按钮。 ?复选框事件?CheckedChanged事件,改变复选框Checked属性时触发。 在设计器中双击相应的复选框将进入代码器中这一事件的定义部分。 ?CheckStateChanged事件,改变复选框CheckedState属性时触发。 在属性窗口中选择这一事件双击进入其代码。 ?示例程序public partialclass Form5:Formpublic Form5()InitializeComponent();string mychoice1,mychoice2,mychoice3;private voidcheckBox1_CheckedChanged(object sender,EventArgs e)if(checkBox1.Checked=true)mychoice1=checkBox1.Text+;else mychoice1=;private voidcheckBox2_CheckedChanged(object sender,EventArgs e)if(checkBox2.Checked=true)mychoice2=checkBox2.Text+;else mychoice2=;private voidcheckBox3_CheckedChanged(object sender,EventArgs e)if(checkBox3.Checked=true)mychoice3=checkBox3.Text;else mychoice3=;private voidbutton1_Click(object sender,EventArgs e)textBox1.Text=mychoice1+mychoice2+mychoice3;文本类控件?文本类控件通常用来显示或输入信息,是构成用户界面的最基本控件?文本框控件?标签控件?列表框控件?组合框控件文本框控件?用TextBox类进行封装,是按钮控件外最常使用的控件,常用于接收文本输入。 TextBox类派生于TextBoxBase类。 ?默认情况下,文本框控件只接受单行文本,此时只能水平改变控件大小而不能垂直改变。 通过设置TextBox的Multiline属性为true,可以使用多行文本框。 ?文本框属性?Text属性,获取用户输入到文本框中的文本。 ?例string newItemnewTextBox.Text;?TextLength属性获取文本框控件中文本的长度文本框属性 (1)?Lines属性对于多行文本框,除了可以使用Text属性获取文本外,还可以使用Lines属性,它返回一个字符串的数组,每个数组元素对应一行文本。 ?注意,在Lines数组中的元素没有必要与文本框控件的物理行相对应。 如果允许文本换行,那么无论文本占了多少物理行,在Lines数组中都只是一个元素。 ?可以在属性窗口中使用Lines属性为多行文本框提供初始文本。 在属性窗口中选择Lines属性,将显示一个说明为“”的小按钮。 单击它就会显示“字符串采集器”对话框,在其中可以输入控件文本。 ?ReadOnly属性当它设置为true时,只能浏览而不能修改文本框中显示的内容。 ?MaxLength属性设置文本框能输入的最大字符数。 文本框属性 (2)?WordWrap属性,选择每行的文本是可以扩展超出控件边缘(false)或是在控件边界处自动换行(true),默认值为true。 ?ScrollBars属性,指定是否使用以及使用怎样的滚动条。 属性值必须是枚举类型ScrollBars的值None、Horizontal(水平)、Vertical(垂直)、Both。 ?如果文本框的WordWrap属性设置为true,则水平滚动条不显示。 ?BorderStyle属性,管理文本框控件的外观。 属性值必须是枚举类型BorderStyle的值None、FixedSingle、Fixed3D(默认值)。 文本框属性 (3)?SelectedText、SelectionStart、SelectionLength属性,用来获取或设置当前在文本框中选择的文字。 例例private voidForm5_Load(object sender,EventArgs e)textBox1.Text=这是一个文本框控件;textBox1.SelectionStart=4;textBox1.SelectionLength=3;string selection=textBox1.SelectedText;/selection的内容为“文本框”textBox1.Text=selection;?PasswordChar属性,用来指定文本框的屏蔽字符。 对用于输入密码或是其他敏感信息的文本框,使用这一属性来设置代替的掩饰字符?例textBox1.PasswordChar=?*?;public partialclass Form5:Formpublic Form5()InitializeComponent();string mychoice1,mychoice2,mychoice3;private voidcheckBox1_CheckedChanged(object sender,EventArgs e)if(checkBox1.Checked=true)mychoice1=checkBox1.Tex+rnt;else mychoice1=;private voidcheckBox2_CheckedChanged(object sender,EventArgs e)if(checkBox2.Checked=true)mychoice2=checkBox2.Text+rn;else mychoice2=;private voidcheckBox3_CheckedChanged(object sender,EventArgs e)if(checkBox3.Checked=true)mychoice3=checkBox3.Text;else mychoice3=;private voidbutton1_Click(object sender,EventArgs e)textBox1.Text=mychoice1+mychoice2+mychoice3;文本框属性 (4)?AeptsReturn、AeptsTab属性?通常情况下,不能在文本框中使用Enter键换行或是Tab键输入制表符,这两个键的默认行为是触发窗体的AeptButton属性的Click事件和切换输入焦点。 ?AeptsReturn属性设置为true则在指定的控件中按下Enter键将会在其中新建一行文本;如果为false,则要按下Ctrl+Enter才能实现上述功能,如果只按下Enter将是激活窗体的默认按钮。 ?AeptsTab属性设置为true则在指定的控件中按下Tab键时会在其中输入一个制表符;如果为false,则要使用Ctrl+Tab组合键来实现上述功能,单独按下Tab键只是切换焦点。 ?如果文本框不支持多行输入,则这两个属性无效。 ?文本框的方法?AppendText向文本框中附加文字?Clear清除文本框中的所有文字?ClearUndo清除有关撤销操作的信息?Copy把文本框中的当前选择文字复制到剪贴板?Cut把文本框中的当前选择文字移动到剪贴板?Paste使用剪贴板中的内容替换文本框中当前选择的内容?Select在文本框中选择指定范围的文字?SelectAll选择文本框中的所有内容?Undo撤销文本框中的最后一次修改操作?文本框的事件?TextChanged事件,当文本框内容发生改变时将触发这个事件。 若另一个控件要根据当前文本框的内容来更新时,这个事件很有用。 看个例子。 public partialclass Form5:Formpublic Form5()InitializeComponent();private voidbutton2_Click(object sender,EventArgs e)textBox1.Clear();private voidbutton3_Click(object sender,EventArgs e)textBox1.Copy();private voidbutton4_Click(object sender,EventArgs e)textBox1.Paste();private voidbutton1_Click(object sender,EventArgs e)textBox1.Cut();private voidtextBox1_TextChanged(object sender,EventArgs e)label1.Text=Contents:+textBox1.Text;这里,只要textBox1的内容被更新,label1的值也会被更新。 标签控件?使用Label类进行封装,通常用于显示静态文本,比如为其他控件显示描述性信息或根据应用程序的状态显示相应的提示信息。 ?标签控件具有与其他控件相同的许多属性,但是它通常都作为静态控件使用,在程序中一般很少直接对其进行编程,主要有用到的属性有?Text属性设置标签中显示的说明文字?Size属性设置标签大小?AutoSize属性指定标签中的说明文字是否可以动态变化。 设置为true时将忽略Size属性的值。 ?BorderStyle属性设置标签边框,取值与文本框一样。 ?窗体的标签控件有一个不寻常的地方它从不接收输入焦点。 它会将焦点按Tab键的控制次序传递给下一个控件。 ?跟文本框或其他控件相关的标签控件经常被直接放置在相关控件的前面,并提供在表示快捷键的字符前面附加&符号作为说明。 可以使用Alt+相应快捷键来选择与标签相关的控件。 ?假设textBox1与标签label1相关,label1.Text=“输入名字(&N):”;那么按下Alt+N将焦点切换到textBox1。 ?一般不需要对标签进行事件处理链接标签?用LinkLabel类进行封装,它从Label类派生而来,具有标签控件的所有属性、方法和事件。 它的外观和操作方式都和网页中的超链接类似,常用于提供到相关网页的链接,或者作为使用网页类用户界面的窗体的浏览控件。 ?链接标签属性?为不同状态下的链接文本定义颜色的属性?ActiveLinkColor用于指定链接在被单击的过程中的颜色,默认为Red。 ?DisabledLinkColor用于指定链接被禁用时的颜色,把控件的Enabled属性设置为false即可禁用链接?LinkColor用于指定链接在普通状态下(被点击或访问前)的颜色,默认为Blue。 ?VisitedLinkColor用于指定访问过的链接的颜色,访问过的链接通过LinkVisited属性指定,默认为Purple。 ?LinkArea属性默认情况下,链接标签的Text属性中的内容都被当作超级链接,整个控件是可单击的。 可以通过LinkArea属性来定义Text中的部分内容为超链接,使用LinkArea类来设置。 ?LinkArea range=new LinkArea(3,11);/3为起始位置,11为长度linkLabel1.LinkArea=range;linkLabel1.Text=.126.获取信息;?或linkLabel1.LinkArea=new System.Windows.Forms.LinkArea(8,4);?LinkBehavior属性指定链接的外观。 其值必须为枚举类型LinkBehavior的值?AlwaysUnderline可点击部分总有下划线?HoverUnderline可点击部分在鼠标指针停留到控件上时显示下划线?NeverUnderline没有下划线?SystemDefault服从系统默认设置(默认值)?Links属性,保存链接标签中的多个超链接。 例如下面代码?linkLabel1.Text=.126.获取信息站点或My Page获取信息;linkLabel1.Links.Add(3,11);linkLabel1.Links.Add(21,7,0);?链接标签事件?最常用的事件是LinkClicked事件,在点击链接标签中超链接时就触发这一事件。 要打开相应这个事件的网页,使用System.Diagnostics命名空间的Process.Start()方法。 ?Private voidlinkLabel1_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)Process.Start(“.microsoft.”);这里Process.Start方法将打开浏览器浏览指定URL。 public Form6()InitializeComponent();private voidForm6_Load(object sender,EventArgs e)/LinkArea range=new LinkArea(3,11);/3为起始位置,11为长度/linkLabel1.LinkArea=range;linkLabel1.Text=.126.获取信息站点或My Page获取信息;linkLabel1.Links.Add(3,11);linkLabel1.Links.Add(21,7,0);private voidlinkLabel1_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)Process.Start(.126.);?在链接标签对象中并没有内建的功能用于了解一个链接是否被访问过。 因为对控件的浏览操作实际上是由LinkClicked事件处理器实现的,所以应该自行编写代码来指定链接是否被访问。 ?通过在LinkClicked事件处理器中修改LinkVisited属性为true,这就将根据链接的被访问状态来显示不同颜色。 ?如果不想为访问过的链接标签提供不同的颜色显示,只需要取消对LinkVisited属性的设置即可。 列表框控件?用ListBox类封装,通常用于显示供选择的选项。 ?列表框属性?Items属性,保存列表框中显示的项,通过这个属性访问项或对这些项进行操作。 ?MultiColumn属性,设置列表框是否可以多列显示(默认情况下为一列显示)?ColumnWidth属性,指定每列的宽度。 ?SelectionMode属性,指定选择列表框中项的方式,默认情况下列表框一次只能选择一项。 属性值必须为枚举类型SelectionMode中定义的值?MultiExtended允许一次选择多项并使用Shift和Ctrl键来帮助选择。 ?MultiSimple允许一次选择多项,但只能通过单击来选择。 ?None不能在列表框中选择。 ?One一次只选择一项(默认)。 ?获取所选项的索引的属性?SelectedIndex属性,在列表框只允许选择一项时用来或许当前所选择项的索引。 没有选中的项时,属性返回一个-1。 ?SelectedIndices属性,在列表框允许选择多项时用来获取当前所有选定项的索引集,这是一个SelectedIndexCollection类实例。 ?获取所选项的索引的引用?SelectedItem属性,在列表框只允许选择一项时用来获取当前所选择项。 ?SelectedItems属性,在列表框允许选择多项时用来获取当前选择的多个项的集合,这是一个SelectedObjectCollection类实例。 ?Sorted属性,指定列表框是否可以对它包含的项自动排序。 ?TopIndex属性,设置或返回列表框中顶端的可见项。 ?列表框的方法?防止在更新列表框时重新绘制的方法BeginUpdate和EndUpdate。 将修改操作放在这两个方法之间,在所有修改完成后来刷新列表框。 ?listBox1.BeginUpdate();foreach(string sin mString)listBox1.Items.Add(s);listBox1.EndUpdate();?SetSelected方法,用来进行选定或取消选定,它的参数为项目索引和表示选择状态的Boolean值。 ?listBox1.SetSelected(0,true);?对Items操作的方法?Add方法向列表框底部添加项。 listBox1.Items.Add(“A”);?Insert方法向指定位置添加项。 ?listBox1.Insert(0,newItem);/索引不能小于0,不能大于当前项目数?在Sorted属性为true时,Insert方法插入的项不能被正确排序。 ?AddRange方法添加多个项。 listBox1.Items.AddRange(new string“A”,”B”);或是listBox1.Items.AddRange(listBox2.Items);?Clear方法删除所有项目。 listBox1.Items.Clear();?RemoveAt方法删除指定项listBox1.Items.RemoveAt(index);/参数为索引或是listBox1.Items.RemoveAt(object);/参数为对象,将删除集合中符合参数对象的第一个对象?看两个删除的代码?ListBox.SelectedIndexCollection indices=listBox1.SelectedIndics;int selected=indices.Count;/ (1)不能正确删除, (2)使用倒序删除 (1)if(indices.Count0)foreach(int indexin indices)listBox1.Items.RemoveAt(index); (2)if(indices.Count0)for(int n=selected-1;n=0;n-)int index=indicesn;listBox1.Items.RemoveAt(index);?列表框事件?SelectedIndexChanged事件和SelectedValueChanged事件。 ?在列表框中的选择或取消项目时触发这两个事件。 ?一般使用这些事件来触发列表框的再次测试,确定有哪些项在当前被选定。 ?DoubleClick事件,对列表框的项双击时触发这个事件。 一般用这个事件来显示一个关于该项信息的提示窗体。 组合框控件?使用ComboBox类进行封装,由一个文本框和一个下拉列表组成,可以在文本框中直接输入也可以从下拉列表中选择选项。 ?组合框常用于这样的情况便于从控件列表框部分的多个选项中选择一个,但不需要占用列表框所使用的空间。 对组合框的行为风格可以控制,如列表框是否显示或文本框是否可以。 ?组合框同时兼有列表框和文本框的功能,能使用这两类控件具有的大部分操作。 ?组合框属性?Items、SelectedIndex、SelectedItem等属性,与列表框中所讲述的相同。 ?与列表框不同的是,组合框中的列表不支持多项选择。 ?Text、MaxLength等属性,与文本框中所讲述的相同?DropDownStyle属性,指定组合框的显示风格。 有三个可选值,在枚举类型ComboBoxStyle中定义。 ?DropDown默认值,可以在文本框中进行并且列表框部分一般隐藏,单击下拉按钮后显示。 ?DropDownList只能单击下拉按钮显示下拉列表框来进行选择,不能在文本框中。 ?Simple列表框总是可见,文本框可以。 ?MaxDropDownItems属性,设置下拉列表框中最多能显示的项的数目。 ?DropDownWidth属性,指定组合框下拉部分的宽度的像素数。 ?DroppedDown属性,指定是否显示下拉列表。 ?Height属性,指定简单的组合框的高度。 ?组合框方法?BeginUpdate和EndUpdate方法?Select和SelectAll方法,用来对文本框中的文字进行选择。 ?boBox1.Select(1,5);/1表示起始位置,5表示长度boBox1.SelectAll();/选中文本框中的所有字符?组合框事件?大部分列表框和文本框事件都能在组合框中使用?SelectedIndexChanged事件,组合框中选择发生变化时触发这个事件。 ?TextChanged事件,文本框中文字改变时触发这个事件。 ?DropDown事件,显示下拉列表时触发这个事件。 可以使用这个事件对下拉列表框中的内容进行处理,如添加删除项等等。 ?SelectionChangeCommitted事件,将更改委托给控件列表框中的一个项目时触发。 看个示例。 ?/下面代码确定用户在何时在组合框中选定一个项目private voidboBox1_SelectionChangeCommitted(object sender,System.EventArgs e)string message=string.Format(“The newselection is0”,boBox1.SelectedItem.ToString();MessageBox.Show(message);?示例程序逻辑分组控件?这类控件通常用于将窗体中的控件进行逻辑上的分组,以使用户界面更具有条理性。 其中一些控件是类似与窗体的容器,比如面板控件。 ?分割条控件?分组框控件?面板控件?选项卡控件分割条控件?使用Splitter类封装,主要用于在运行时调整停靠控件的大小,通过它可以实现分割窗体的功能?使用分割条控件,首先把一个控件停靠在容器控件的某一边上,然后把分割条控件停靠在相同的边上。 运行时,把鼠标指针移到分割条控件上,会变为调整大小的形状,此时拖动分割条就可以调整控件大小。 ?控件添加顺序很重要,分割条只能改变在它之前添加的一个控件,而且分割条和将被改变大小的控件必须停靠在容器的同一边。 ?使用BorderStyle属性设置分割条的边框,使用SplitPosition属性改变分割条的位置。 ?通常不处理分割条事件。 分组框控件?使用GroupBox类封装,它是一个容器控件,可以包含其他控件,用于对控件进行逻辑分组。 ?在窗体设计器中,分组框控件中的控件可以作为一个整体进行操作。 把控件添加到分组框中的方法有两个?直接从工具箱中拖动目标控件到分组框中?先把需要的控件剪切到剪贴板中,然后选中分组框控件并从剪贴板中复制这些控件。 ?分组框属性?Text属性,为分组框设置标题?BackColor属性,设置分组框背景颜色?BackgroundImage属性,设置分组框背景图像?TabStop属性,分组框一般不接收焦点,它将焦点传递给其包含控件中的第一个项;可以设置这个属性来指示分组框是否接收焦点。 ?AutoSize属性,设置分组框是否可以根据其内容调整大小。 ?AutoSizeMode属性,获取或设置启用AutoSize属性时分组框的行为方式。 ?属性值为AutoSizeMode枚举值GrowAndShrink,根据内容增大或缩小;GrowOnly(默认),可以根据其内容任意增大,但不会缩小至小于它的Size属性值。 ?Controls属性,分组框中包含的控件的集合。 可以使用这个属性的Add,Clear等方法。 ?分组框事件?AutoSizeChanged事件,在AutoSize属性发生改变时触发。 ?Click和DoubleClick事件。 ?TabStopChanged事件,在TabStops属性改变时触发。 ?KeyUp/KeyPress/KeyDowm事件,当分组框拥有焦点同时用户松开/按下某个键时触发。 面板控件?用Panel类封装,与分组框类似,也是一个容器控件。 它没有标题,但是可以和滚动条结合使用。 ?如下情况下经常使用面板控件?子控件要以可见的方式分开?提供不同的BackColor属性?使用滚动条以允许多个控件放置在同一个有限空间。 ?面板属性?类似GroupBox的属性?AutoScroll属性,设置面板滚动条是否可用,默认情况下是禁用false?BorderStyle属性,设置面板边框风格,有None(默认),FixedSingle,Fixed3D三种。 ?BackColor、BackgroundImage属性选项卡控件?使用TabControl类封装。 在这类控件中,通常在上部有一些标签供选择,每个标签对应一个选项卡页面TabPage。 选中一个标签就会显示相应的页面而隐藏其他页面。 通过这个方式,可以把大量的控件放在多个页面中,通过选项卡标签迅速切换。 一个很常见的例子是Windows系统的“显示属性”对话框。 ?选项卡属性?TabPages属性,这是一个选项卡页面的集合,可以通过它对选项卡的标签项进行管理。 ?在属性窗口中单击TabPages属性右边的按钮,显示“TabPage集合器”对话框,通过它来添加删除选项卡页面和设置页面属性。 如图。 ?要为添加后的特定页面添加控件,通过选项卡控件的标签切换到相应页面,再选中该页面,然后把控件拖动到页面中。 ?Alignment属性,指定选项卡的标签位于控件的什么位置,是一个TabAlignment枚举类型,有Top(默认),Bottom,Left,Right四个值。 ?Appearance属性,指定标签的外观,有三种风格Buttons、FlatButtons、Normal(默认)。 ?只有当标签位于顶部时,才可以设置FlatButtons风格;位于其他位置时,将显示为Buttons。 ?MultiLine属性,指定是否可以显示多行标签。 ?默认情况为单行显示,在标签超出选项卡可视范围时自动使用箭头按钮来滚动标签。 ?当把标签定位于选项卡的左边或右边时,MultiLine属性自动为true。 ?ItemSize属性,指定标签的大小。 ?SizeMode属性,指定标签是否自动调整大小来填充标签行。 枚举类型TabSizeMode定义了三种取值。 ?Normal根据每个标签内容调整标签的宽度?Fixed所有标签宽度相同?FillToRight调整标签宽度,使其填充标签行(只有在多行标签的情况下进行调整)?TabCount属性,指定控件中所包含的标签的数量。 ?SelectedIndex属性,当前所选中标签的索引。 若没有选中项,返回-1。 ?SelectedTab属性,当前所选中标签的引用。 若没有选中项,返回null。 ?管理TabPages属性的方法?可以提供索引访问?tabControl1.TabPages0.Text=“背景”;?添加TabPage对象Add或者AddRange方法。 ?删除TabPage对象Remove方法(参数为TabPage引用)或RemoveAt方法(参数为索引值)?清除所有的TabPage对象Clear方法。 ?SelectedIndexChanged
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024秋八年级地理上册 第2章 第一节《地形地势特征》说课稿1 (新版)商务星球版
- 2025服务类招标代理合同模板
- 2025年上海牌照转让规范合同书
- 教科版信息技术高一必修 4.1.2文字处理软件教学设计
- 大连事业单位笔试真题2025
- 7.2.2(一)平行线判定 说课稿-2024-2025学年人教版数学七年级下册
- Unit 1 My future教学设计-2023-2024学年小学英语五年级上册牛津沪教版(三起)
- 化肥厂应急演练组织规章
- 2024-2025学年高中语文 第二单元 六 我善养吾浩然之气说课稿5 新人教版选修《先秦诸子选读》
- 股权质押合同
- 食管纵隔瘘护理
- 建筑项目水泥采购合同
- 华为ICT大赛网络赛道考试题库(786题)
- 水果采购协议样本
- 中职英语(高教版2021基础模块1)Part01-Unit2-Transportation
- 哲学与人生 第二课 树立科学的世界观2.1
- 2024-2030年中国止痛药品市场供需形势及未来前景动态研究研究报告
- 风电110KV升压站土建工程施工方案
- 2018低压电力线高速载波通信互联互通技术规范第3部分:检验方法
- 房屋漏水维修合同书范文
- 超声科医院感染管理:培训与演练
评论
0/150
提交评论