2016第一学期c5章windows应用程序开发_第1页
2016第一学期c5章windows应用程序开发_第2页
2016第一学期c5章windows应用程序开发_第3页
2016第一学期c5章windows应用程序开发_第4页
2016第一学期c5章windows应用程序开发_第5页
已阅读5页,还剩172页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

框多文档界面 5.1 在VisualStudio2010开发环境中选择“文件”菜单,选择“新建”选项中的【模板】5.1 VisualStudio2010主界面,提供一个缺省的【窗体(Form)5.1 5.1 名称属性空空空5.1 名称名称属性空空空5.1 方法1:双击Button控件,方法2:【 privatevoidbutton1_Click(objectsender,EventArgs{longop1,op2,if((textBox1.Text=="")||(textBox2.Text=={MessageBox.Show(this"操作数为空""提示}{}

op1=Convert.ToInt64(textBox1.Text);op2=Convert.ToInt64(textBox2.Text);result=op1+op2;textBox3.Text=

catch(Exception{MessageBox.Show(thisel.Message"提示}}#regionWindows//////private {//button1this.button1=newSystem.Drawing.Point(37,166);new} privateprivatevoidbutton2_Click(objectsender,EventArgs{} 单文档界面(SDI):例如,Windows中包括的“写字板”应用界面(MDI)应用程序。5.2.2窗体】,在Main方法中将Form1修改staticvoidMain(){Application.Run(newForm1());}5.2.3窗体属性: Visible在中,如果希望Windows应用程序的主窗体在应用程序启动时不可见,将会发现将它的Visible属性设置为方法无效,因为通常启动窗体的生存期决5.2.3窗体属性: 设计时,在【属性窗口】TopMosttrueTopMosttruepublicpublicvoid{myTopForm.TopMost=true;}5.2.3 无5.2.3 1)【属性窗口】5.2.3 1)【属性窗口】5.2.3 #regionWindowsFormDesignergenerated//////RequiredmethodforDesignersupport-donot///thecontentsofthismethodwiththecode///private {//this.AutoScaleDimensions=newSystem.Drawing.SizeF(6F,13F); Size=newSystem.Drawing.Size(284,262);this.Name=this.Text=}5.2.3 LocationStartPosition1)【属性窗口】定位5.2.3privateprivatevoidbutton1_Click(objectsender,EventArgs{TextBoxmyText=newTextBox();}5.2.4 Hide()方法:隐藏窗体,但不破坏窗体,也不释放资源,可以使用Show() Form类 ..45.2.4privateprivatevoidBtnAdd_Click(objectsender,EventArgs{this.Opacity+=0.1;//}privatevoidBtnSub_Click(objectsender,EventArgs{if(this.Opacity>{this.Opacity-=0.1;}this.Close }.4 ,, 文本类控件: 有格式文本框选择类控件:分组控件:将【窗体(Form)】 含义缩写含义缩写

privatevoidprivatevoidbutton1_Click(objectsender,EventArgse){TextBoxmyText=newTextBox();myText.Location=newPoint(25,25);} 【对齐控件】 第一个被选中的【控件】——【主导控件】 文本类控件:按钮文本框有格式文本框文本类控件—— 【(Label)】用于显示用户不能编辑的文本文本类控件—— 【(Label)】用于显示用户不能编辑的文本文本类控件—— 【(Label)】用于显示用户不能编辑的文本文本类控件—— 【(Label)】用于显示用户不能编辑的文本 文本文本类控件—— 【(Label)】用于显示用户不能编辑的文本按钮thisthis.btnShowMessage=newSystem.Windows.Forms.Button();this.btnShowMessage.LocationnewSystem.Drawing.Point(73,60);this.btnShowMessage.Size=newSystem.Drawing.Size(135,56);按钮 2、响应(订阅)按钮【Click】publicpartialpublicpartialclassForm1:{public{}privatevoidbtnShowMessage_Click(objectsender,EventArgs{ 了 }}publicpartialclassForm1:{public{}

privatevoidbtnShowMessage_Click(objectsender,EventArgs{ }}this.btnShowMessage.ClicknewpublicclassControl:Component,IDropTarget,ISynchronizeInvoke, ponent,IComponent,IDisposable{ publiceventEventHandler}publicpartialclassForm1:{public{}

privatevoidbtnShowMessage_Click(objectsender,EventArgs{ }}this.btnShowMessage.Clicknew 参数 不包含任 publicdelegatevoidEventHandler(objectsender,EventArgs按钮 2、响应按钮【Click】 回顾整个过程按钮 =单击publicpublicpartialclassForm1:Formpublic }privatevoidForm1_Load(objectsender,EventArgse)this.AcceptButton=this.btnAccept;this.CancelButton=}privatevoidbtnAccept_Click(objectsender,EventArgs privatevoidbtnCancel_Click(objectsender,EventArgs }文本框 【文本框(TextBox)】获取用户输入的数据或显示文本(只读控件)=文本框 【文本框(TextBox)】获取用户输入的数据或显示文本(只读控件)文本框 【文本框(TextBox)】获取用户输入的数据或显示文本(只读控件)文本框 【文本框(TextBox)】获取用户输入的数据或显示文本(只读控件)文本框 【文本框(TextBox)】获取用户输入的数据或显示文本(只读控件)this.textBox1.SizenewSystem.Drawing.Size(208,文本框 【文本框(TextBox)】获取用户输入的数据或显示文本(只读控件)privateprivatevoidForm1_Load(objectsender,EventArgs{}文本框 【文本框(TextBox)】获取用户输入的数据或显示文本(只读控件)6、文本框中的文本发生变化时,响应【TextChanged】newsender,EventArgse){this.label1.Text}文本框 【文本框(TextBox)】获取用户输入的数据或显示文本(只读控件)6、文本框中的文本发生变化时,响应【 】new

sender,EventArgse){this.label1.Text}privateButton[]bthArray;privateTextBoxedtDis privatevoidForm1_Load(objectprivateButton[]bthArray;privateTextBoxedtDis { Size=newSystem.Drawing.Size(310,bthArray=newButton[19]; y=newTextBox(); y.Location=newSystem.Drawing.Point(10, y.Size=newSystem.Drawing.Size(290,50); y.ReadOnly=true; y.Font=new YaHeiUI",16.0f,}privateButtonprivateButton[]bthArray;privateTextBoxedtDis privatevoidForm1_Load(objectsender,EventArgs{2for(inti=0;i<19;{bthArray[i]=newButton();new YaHeiUI",12.0f,//绑定 }}privateButtonprivateButton[]bthArray;privateTextBoxedtDis privatevoidForm1_Load(objectsender,EventArgs{1-9for(inti=1;i<10;{((i-1)%3)*60+((i-1)/3)*60+}0bthArray[0].Size=newSystem.Drawing.Size(50,50);}privateButtonprivateButton[]bthArray;privateTextBoxedtDis privatevoidForm1_Load(objectsender,EventArgs{bthArray[11].Size=newSystem.Drawing.Size(50,50);bthArray[12].Size=newSystem.Drawing.Size(50,50);}privatevoidbtn_Click(objectsender,EventArgs{object ag=switch {Calculatecal=newCalculate(edtDis if(cal.eval()) y.Text=cal.Err;case16://"AC" intid= y.Text=edtDis }}选择类控件:复选框单选按钮数值选择列表组合框复选框 1、判断【复选框(CheckBox)】Checked属性:true(选中)、false(取消复选框 publicenum{ Unchecked= Checked= Indeterminate=}复选框newnewnewprivatevoidcbox_Click(objectsender,EventArgse){stringname=((CheckBox)sender).Name;if(((CheckBox)sender).Checked==MessageBox.Show(name"控件被选中"MessageBox.Show(name"控件被取消"}复选框privateprivatevoidcbox_CheckedChanged(objectsender,EventArgs{stringname=((CheckBox)sender).Name;MessageBox.Show(name"控件的选择状态改变");} 1、判断【单选按钮(RadioButton)Checked属性:true(选中)、false(取消{this.radioButton1.Checked=true;this.radioButton3.Checked=true;this.radioButton1.Click+=newEventHandler(radioButton_Click);this.radioButton2.Click+=newEventHandler(radioButton_Click);this.radioButton3.Click+=newEventHandler(radioButton_Click);this.radioButton4.Click+=newEventHandler(radioButton_Click);}{if(rbtn.Checked){}} 2、响应【单选按钮(RadioButton)】状态更 this.radioButton1.CheckedChangednewnewprivatevoidradioButton_CheckedChanged(objectsender,EventArgse){RadioButtonrbtn=(RadioButton)sender;if{MessageBox.Show(rbtn.Name+"控件被选中。"); {MessageBox.Show(rbtn.Name+"控件被取消。 } 1、【数值选择控件(NumericUpDown) privatevoidForm1_Load(objectsender,EventArgs um= new}privatevoidnumericUpDown_ValueChanged(objectsender,EventArgs{this.label1.Text"数值选择控件的数值="+}列表控件 1、在【列表控件(ListBox)ee向【列表控件】移除【列表控件】中选中的项目列表控件 1、在【列表控件(ListBox){{{{}{this.textBox1.Text="";}}列表控件 1、在【列表控件(ListBox){if(this.listBox1.SelectedItems.Count=={{if(this.listBox1.SelectedItems.Count=={}{}}列表控件 2、在【列表控件(ListBox)namespace{publicenumSelectionModeNone One MultiSimple Shift键、CtrlMultiExtended=}}列表控件 2、在【列表控件(ListBox) privatevoidbtnRemove_Click(objectsender,EventArgse){if(this.listBox1.SelectedItems.Count==0)MessageBox.Show("请选择要删除的项目"{{caseSelectionMode.One:casecasewhile(this.listBox1.SelectedItems.Count>{}}}}组合框 1、【组合框(ComboBox)】DropDownStyle 组合框 1、【组合框(ComboBox)】DropDownStyle组合框 1、【组合框(ComboBox)】DropDownStyle组合框 组合框////boBox1.Name=boBox1.Text="选项——1";组合框3、响应【组合框(ComboBox)】SelectedIndexChangedprivatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgs{this.label1.Text }privatevoidForm1_Load(objectsender,EventArgs{DropDownStyle }ListBox 5.3.3ListBoxprivatevoidForm1_Load(objectsender,EventArgs{ s=new, .SelectionMode=SelectionMode.One; .Sorted=true; /*foreach { }5.3.3ListBox////////////<param///<paramprivatevoidbtnAdd_Click(objectsender,EventArgs{if .SelectedItems.Count=={objectitem=if}}5.3.3ListBox////////////<param///<paramprivatevoidbtnAddAll_Click(objectsender,EventArgs{ {}}ListBox/////////<param///<paramprivatevoidbtnRemove_Click(objectsender,EventArgs{if(this.lbOrder.SelectedItems.Count=={}}/////////<param///<paramprivatevoidbtnRemoveAll_Click(objectsender,EventArgs{}5.3.3ListBox 复合控件实际上是控件的集合,类似于堆积木以后使用中,将生成的这个复合控件作为一个控件UserControl复合控件步骤:1、Windows窗体控件库复合控件步骤:1、Windows窗体控件库复合控件步骤:2、UserControl1中添加VisualStudio2010Enableprivatevoidtimer1_Tick(objectsender,EventArgs{{this.label1.Text=}复合控件步骤:3、UserControl1privateprivateColor),publicColor{get{returnfColor;}set{fColor=this.label1.ForeColor=fColor;}privateColorprivateColorpublicColorBColor{get{returnbColor;}set{bColor=this.label1.BackColor=}复合控件步骤:4、复合控件复合控件复合控件{{publicpartialclassUserControl1:{}}namespace复合控件步骤:6、直接按F5生成复合控件时,会弹出一个【用户控件测试容器】在这个容器中,显示了我们 复合控件步骤:6、复合控件步骤:6、扩展控件(扩展控件(步骤:1、Windows窗体控件库扩展控件(步骤:2、MyCheckBoxnamespace{publicpartialclassMyCheckBox:{public{this.SetStyle(ControlStyles.DoubleBuffer,true);this.SetStyle(ControlStyles.ResizeRedraw,true);this.SetStyle(ControlStyles.Selectable,true);this.SetStyle(ControlStyles.UserPaint,true);this.Cursor=Cursors.Hand;this.Size=newSize(87,27);}}扩展控件(步骤:3、MyCheckBoxnamespace{publicpartialclassMyCheckBox:{CheckStylecheckStyle=CheckStyle.style1;publicCheckStyleCheckStyle{

publicenum{style1=style2=style3=style4=style5=style6=get{returncheckStyle;set{checkStyle=value;this.Invalidate();}}}扩展控件(protectedoverridevoidOnPaint(PaintEventArgs{ImagebitMapOn= ImagebitMapOff=if(checkStyle=={bitMapOn=btncheckon1;bitMapOff=}elseifGraphicsg=pevent.Graphics;Rectanglerec=newRectangle(0,0,this.Size.Width,}

{g.DrawImage(bitMapOn,rec);{g.DrawImage(bitMapOff,rec);复合控件步骤:6、自定义控件件编写代码,在OnPaint中实现自定义自定义控件自定义控件namespace{publicpartialclassThermometerControl:{//////public{SetStyle(ControlStyles.AllPaintingInWmPaint,true);SetStyle(ControlStyles.OptimizedDoubleBuffer,true);SetStyle(ControlStyles.ResizeRedraw,true);SetStyle(ControlStyles.Selectable,true);SetStyle(ControlStyles.UserPaint,true);}}privatefloattemperature=publicfloatTemperature{set{temperature=value;get{returntemperature;}privatefloathighTemperature=50;publicfloatHighTemperature{set{highTemperature=value;}get{returnhighTemperature;}}privatefloatlowTemperature=-20;publicfloatLowTemperature{set{lowTemperature=value;}get{returnlowTemperature;}}自定义控件自定义控件privatevoidThermometerControl_Paint(privatevoidThermometerControl_Paint(objectsender,PaintEventArgse){X=this.Width-4;Y=this.Height-绘制边框(最外边的框p=newPen(dialOutLineColor,}自定义控件privatevoidThermometerControl_Paint(objectsender,PaintEventArgse){X=this.Width-4;Y=this.Height-绘制边框(最外边的框p=newPen(dialOutLineColor,2);e.Graphics.DrawLine(p,0,X/2,0,(Y-X/2));e.Graphics.DrawLine(p,X,X/2,X,(Y-X/2));}自定义控件privateprivatevoid(objectsender,PaintEventArgs{X=X-Y=Y-b=newSolidBrush(dialBackColor);e.Graphics.TranslateTransform(4,4);}自定义控件privateprivatevoid(objectsender,PaintEventArgs{X=X-Y=Y-b=newSolidBrush(dialBackColor);e.Graphics.TranslateTransform(4,4);e.Graphics.FillRectangle(b,0,X/2,X,(Y-X));}自定义控件privateprivatevoid(objectsender,PaintEventArgs{X=X-Y=Y-b=newSolidBrush(dialBackColor);e.Graphics.TranslateTransform(4,4);e.Graphics.FillRectangle(b,0,X/2,X,(Y-X));e.Graphics.FillEllipse(b,0,0,X,X);}自定义控件privatevoidThermometerControl_Paint(privatevoidThermometerControl_Paint(objectsender,PaintEventArgse){b=new}自定义控件privatevoidThermometerControl_Paint(privatevoidThermometerControl_Paint(objectsender,PaintEventArgse){b=new(b,X*2/5,(X/2-X/10),X/5,X/b=new}自定义控件privatevoidThermometerControl_Paint(privatevoidThermometerControl_Paint(objectsender,PaintEventArgse){b=new(b,X*2/5,(X/2-X/10),X/5,X/b=newSolidBrush(mercuryColor);(b,X/4,(Y-X*9/16),X/2,X/}自定义控件privatevoidThermometerControl_Paint(privatevoidThermometerControl_Paint(objectsender,PaintEventArgse){b=new(b,X*2/5,(X/2-X/10),X/5,X/b=newSolidBrush(mercuryColor);(b,X/4,(Y-X*9/16),X/2,X/}自定义控件 1在“属性”窗口中,单击Items(……)Text和ImageIndex属性。若要移除某项,选择该项并单击“移除”按钮。 2以编程方式添加项,使用Items属性的AddlistView1.Items.Add("Listitemtext", 3以编程方式移除项,使用Items属性的RemoveAtClear方法。RemoveAt 4 5listView1.View=将View设为listView1.Columns.Add("FilelistView1.View=将View设为listView1.Columns.Add("Filetype",20HorizontalAlignment.Left添加一宽206.和SmallIcon视图显示SmallImageList属性中指定的图像列表中的图像。LargeIcon视图StateImageList属性中设置的一组附加图标。将SmallImageList、LargeImageList或StateImageList设置为已有ImageListlistView1.SmallImageList=为每个具有关联图标的列表项设置ImageIndex或StateImageIndex属性。这些属性可通过“ListViewItem集合编辑器”设置。要打开“ListViewItem集合编辑器”,请单击“属性”窗口中Items属性旁的省略号(…)按钮。也可用代码进行设置,例如:= 1在窗体上绘制PictureBox控件。在“属性”窗口中选择Image属性,然后单击 2 Normal表示图像放置在控件的左上角,如果图像大于控件,则剪裁图像的右下边缘。CenterImage表示图像在控件内居中,如果图像大于控件,则剪裁的外边缘。AutoSize表示将控件的大小调整为图像的大小。StretchImageprivateprivatevoid{stringpath=PictureBox1.SizeMode=PictureBox1.Image=}Windows窗体的状态栏(StatusStrip)通常显示在窗口的底部,在工具箱中图标 Word指示正在保存文档,如图5.15所示) 为“”。它常用的属性有2个:件。默认值为False。类别名称属性设置值5.3.13Timer privatevoidtimer1_Tick(objectsender,EventArgs{ pictureBox1.Left=-pictureBox1.Width; pictureBox1.Left+=1;}5.3.13Timer5.3.13Timer建WinForm项目,从工具箱中拖拽1个“PictureBox”、1个“HScrollBar1类别名称属性设置值5.3.13TimerText属性分别设置为“&New”、“&Open”和“&Exit”。最终的效果如图5.19所示。5.4.2Strip=newStrip(); Itemitem1=new Itemitem2=new 接着使 .Items.AddRange(newToolStripItem[]{item1,item2 Itemitem3=newToolStrip Itemitem4=newToolStrip Itemitem5=newToolStrip 5.4.3 (1类别属性设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论