c#第05章Windows窗体界面设计2.ppt_第1页
c#第05章Windows窗体界面设计2.ppt_第2页
c#第05章Windows窗体界面设计2.ppt_第3页
c#第05章Windows窗体界面设计2.ppt_第4页
c#第05章Windows窗体界面设计2.ppt_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

第1部分 第5章 Windows窗体界面设计,5.1 窗体、属性与事件 5.2 Windows窗体基本控件 5.3 菜单与工具栏 5.4 其他Windows窗体控件,操作技巧,1、凡是通过设计界面添加的事件,要想使代码不再与某个事件关联,应该在设计界面下通过属性窗口下的雷电符号完成。这是因为自动生成的代码是单独保存在一个文件中的,这样做的目的是为了让其自动修改生成的代码。 如果忘记了在设计模式下操作,而是直接在代码编辑模式下删除了关联的事件及其代码,或者修改了事件名称,由于系统不会自动删除或修改生成的代码中对应事件的事件句柄,因此仍然需要切换到设计模式,并选中要处理的控件,然后单击属性窗口中的雷电符号,在对应的事件中重新处理一遍,否则会引起编译错误。 2、如果希望控制设计窗体中各控件响应tab键的顺序,应该通过主菜单视图下的tab键顺序操作,操作完成后,再选择视图tab键顺序命令返回到正常设计界面模式。,5.1 窗体、属性与事件,窗体:向用户显示信息的可视界面。 控件:显示数据或接受数据输入的相对独立的用户界面(UI)元素。 事件:当用户对窗体或其中的某个控件进行操作时,将触发相应的事件,在代码中即可对这些事件进行处理。,5.1.1 窗体的显示与隐藏,1、如何在代码中打开一个新窗体 Form2 fm = new Form2(); fm.Show(); /或者fm.ShowDialog(); 2、如何在代码中关闭一个窗体 用法1:fm.Close(); 用法2:this.Close(); 用法3:Application.OpenForms“Form1“.Close(); 3、如何隐藏一个打开的窗体 (1)隐藏当前窗体:this.Hide(); (2)隐藏其它窗体:Application.OpenForms“Form1“.Hide(); 4、如何重新显示隐藏的窗体 (1)显示当前窗体:this.Show(); (2)显示其它窗体:Application.OpenForms“Form1“.Show();,5.1.2 窗体的属性,设置窗体属性的方法: (1)在设计模式下设置窗体属性 (2)在代码编辑模式下设置窗体属性 窗体常用属性: 1 Text 窗体标题 2 StartPosition 窗体首次出现的位置,Validating事件和Validated事件,Validating事件:当控件的CausesValidation属性为true,且该控件失去焦点时,触发该事件。注意被验证有效性的控件是失去焦点的控件,而不是获得焦点的控件。 Validated事件:当控件的CausesValidation属性为True,且该控件失去焦点时,触发该事件。该事件在Validating事件之后发生,表示有效性验证已经完成。 例如,假如textBox1的CausesValidation属性均为True private void textBox1_Validating(object sender, CancelEventArgs e) if (textBox1.Text.Length = 0) MessageBox.Show(“必须在textBox1中输入内容“); textBox1.Focus(); 再将textBox1的CausesValidation属性改为False,运行观察结果。,5.1.3 鼠标事件与键盘事件,常用鼠标事件 1.Click:单击鼠标左键时触发 2.MouseDoubleClick:双击鼠标左键时触发 3.MouseEnter:鼠标进入控件可见区域时触发 4.MouseMove:鼠标在控件区域内移动时触发 5.MouseLeave:鼠标离开控件可见区域时触发 常用键盘事件 1.KeyDown:按下某个键时触发 2.KeyUp:释放按键时触发 3.KeyPress:KeyDown后KeyUp前触发,KeyDown和KeyPress的区别,KeyDown和KeyPress的区别是KeyDown传送的是被按下键的键盘码,而KeyPress传送被按下键的char值。 一般用KeyDown、KeyUp判断是否按下了Shift、Alt、Ctrl、F1、箭头键等特殊键或者组合键,也可以判断是否按下某个字符;而KeyPress仅用于判断是否按下了某个字符。,例如用户在textBox1中按回车键时,可以利用KeyPress事件作相应处理: private void textBox1_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = (char)Keys.Enter) /。 【例5-1】,private void textBox1_KeyDown(object sender, KeyEventArgs e) if (e.KeyCode = Keys.Up) MessageBox.Show(“您现在按下的是向上箭头!“); if (e.KeyCode = Keys.F1) MessageBox.Show(“您现在按下的是功能键F1!是否需要帮助?“); if (e.Alt = true ,private void buttonOK_Click(object sender, EventArgs e) label1.Text = textBox1.Text; private void buttonOK_MouseEnter(object sender, EventArgs e) labelDisplay.Visible = true; labelDisplay.Text = “按下按钮将文本框中的内容显示于下面!“; private void buttonOK_MouseLeave(object sender, EventArgs e) labelDisplay.Text = “; ,5.2 Windows窗体基本控件,5.2.1 控件中常用的属性和方法 1.常用基本属性 除了书上讲的属性外,注意以下属性的用法: 1) (Name):指定控件的名称,它是控件在当前应用程序中的唯一标识,代码通过该属性来访问控件 2) Enabled:决定控件是否可用,取值为true时可用,取值为false时不可用 3)Anchor属性:保持控件与边框的距离不变 4)Dock属性:让控件始终紧靠边框,5) Font:决定控件上文本的显示形式,包括字体名称、字号以及是否斜体、加粗和下划线等 6) BackColor:设置控件的背景色 7) ForeColor:设置空间的前景色,即控件上文本的颜色 8) Location:定位控件 9) size:指定控件的高度和宽度 10) Text: 11) Visible:,5.2.1 控件中常用的属性和方法(续),2.常用方法 Focus方法:让控件获得焦点 ToString方法:转换为字符串,Button(按钮)控件,按钮是界面中经常使用的控件。程序员使用这个控件的时候通常需要做两个工作: 设置按钮属性。 编写Click事件方法。 常用: 1 Text属性:显示控件文本信息 例如:this.button1.Text=“确定“; 2 Click事件:单击鼠标左键时触发。 例如: private void button1_Click(object sender, System.EventArgs e) MessageBox.Show(this,“你点击了确定按钮。“,“提示信息“,MessageBoxButtons.OK,MessageBoxIcon.Information); ,参数的含义: (1) object sender:代表发出事件的对象,此处指button1。 使用时可以直接用button1,也可以像下面形式: Button button=(Button)sender; (2) System.EventArgs e:封装了事件的信息。 3 MouseEnter事件:鼠标进入按钮区域时触发。 例如: private void button1_MouseEnter(object sender, System.EventArgs e) this.button1.BackColor=Color.Red; 4 MouseLeave事件:鼠标离开按钮区域时触发。 例如: private void button1_MouseLeave(object sender, System.EventArgs e) this.button1.BackColor=SystemColors.Control; ,5.2.2 TextBox控件,1.文本框控件常用的基本属性 1) Text:表示文本框中显示的内容。 2) MaxLength:表示用户可以在文本框控件中最多键入的字符数,默认值为32767个字符。注意,由于使用的是Unicode字符,所以对中文和英文的字符计数方法是相同的,即一个英文字符的长度为1,一个汉字字符的长度也是1。 3) Multiline:表示是否可以包含多行内容。 4) PasswordChar:用于指定在屏蔽TextBox控件中输入的密码字符时所要使用的符号。UseSystemPasswordChar属性,5.2.2 TextBox控件(续),2. TextBox控件常用的基本事件 TextChanged:表示文本框中的当前内容(Text属性值)更改时触发的操作。 Enter:当前文本框为活动状态时触发的操作.注意:Enter 和MouseEnter事件不同,MouseEnter事件表示当鼠标进入当前文本框区域内时触发操作. 例:5.2,private void textBoxUser_MouseEnter(object sender, EventArgs e) textBoxUser.Text = “; private void textBoxPassword_TextChanged(object sender, EventArgs e) textBoxUser.ReadOnly = true; private void textBoxInformation_TextChanged(object sender, EventArgs e) buttonOK.ForeColor = System.Drawing.Color.Red; buttonOK.Size = new System.Drawing.Size(100, 50); private void buttonOK_Click(object sender, EventArgs e) labelResult.Visible = true; labelResult.Text = string.Format(“用户名是:0; 密码是:1n输入的资料是:n2“, textBoxUser.Text, textBoxPassword.Text, textBoxInformation.Text); ,5.2.3 MaskedTextBox控件,MaskedTextBox控件也叫掩码文本框,主要作用是控制输入文本的格式,如果输入的内容不满足规定的格式,则控件不会接收该输入. 1.掩码文本框控件常用的属性 1)PromptChar属性:指定作为占位符的字符,默认为下划线“_”。 2)Mask属性:设置当前掩码文本框输入字符的格式。 掩码符号见P113表5-3 3)BeepOnError属性:键入无效字符时是否发出警告声。 4)ValidingType属性(在代码方式下用):获取或设置验证类型。,5) InsertKeyMode属性:指示向掩码文本框输入字符时的输入模式,其属性值有:Default Insert OverWrite.当属性值为default时,表示输入模式由当时键盘的插入/改写状态决定。属性值为Insert时,即使键盘的Ins键被按下,也不会以改写方式输入字符。当为OverWrite时,则任何时候都是以改写方式输入字符。 6)AllowPromptAsInput属性:指定是否允许将占位符看做是有效的输入字符,true为允许,false为不允许。 7)ResetOnPrompt属性:决定当输入字符与占位符相同时,是否跳过当前输入字符的位置。,5.2.3 MaskedTextBox控件(续),2.掩码文本框控件常用的事件 MaskInputRejected事件:当输入字符不符合掩码要求时触发的操作。 TypeValidationCompleted事件: 当ValidingType属性完成对输入文本的分析时触发。 例5.3,private void MyMaskInputRejected(object sender, MaskInputRejectedEventArgs e) (MaskedTextBox)sender).ForeColor = Color.Red; /若输入不符合要求,则以红色字体显示 private void MyMaskInputReset(object sender, KeyEventArgs e) /重新输入时,以改写方式输入,并恢复正常的字体颜色 (MaskedTextBox)sender).InsertKeyMode = InsertKeyMode.Overwrite; (MaskedTextBox)sender).ForeColor = Color.FromKnownColor(KnownColor.WindowText); public FormMaskedTextBox() InitializeComponent(); maskedTextBoxBirthday.ValidatingType = typeof(System.DateTime); maskedTextBoxPhone.MaskInputRejected += new MaskInputRejectedEventHandler(MyMaskInputRejected); maskedTextBoxPhone.KeyDown += new KeyEventHandler(MyMaskInputReset); maskedTextBoxSalary.MaskInputRejected += new MaskInputRejectedEventHandler(MyMaskInputRejected); maskedTextBoxSalary.KeyDown += new KeyEventHandler(MyMaskInputReset); ,private void buttonOK_Click(object sender, EventArgs e) if (maskedTextBoxUserCode.Text = “ -“ | maskedTextBoxUserName.Text = “) MessageBox.Show(“您还没有填写用户名或真实姓名!“); maskedTextBoxUserCode.Focus(); return; labelResult.Visible = true; labelResult.Text = string.Format(“新添加雇员信息如下:n“ +“员工号:0n姓名:1n出生日期:2n电话号码:3n月薪:4“, maskedTextBoxUserCode.Text, maskedTextBoxUserName.Text, maskedTextBoxBirthday.Text, maskedTextBoxPhone.Text, maskedTextBoxSalary.Text); ,private void maskedTextBoxBirthday_TypeValidationCompleted(object sender, TypeValidationEventArgs e) if (!e.IsValidInput) MessageBox.Show(“您输入的日期不正确!“); (MaskedTextBox)sender).Focus(); (MaskedTextBox)sender).InsertKeyMode = InsertKeyMode.Overwrite; ,补充例子,注意:此例子同时演示了如何使用Tag属性。 (参加工作时间掩码:0000年00月),5.2.4 RichTextBox控件,RichTextBox控件的主要功能是进行高级文本输入和编辑,作为一般的文本输入,其属性、事件与TextBox控件的大致相同。它的特殊属性和方法可以完成与word相似的文字处理功能,如改变文本、段落的显示格式,在文本中查找特定字符和字符串等。如表5-4所示P117。 例5-4:创建一个可以对RTF文件进行编辑操作的windows应用程序。,private void buttonDisplay_Click(object sender, EventArgs e) richTextBox1.Clear(); richTextBox1.SelectedText = “窗体使用介绍:“ + “n“; richTextBox1.SelectionBullet = true; / 项目符号与编号 richTextBox1.SelectionFont = new Font(“隶书“, 14, System.Drawing.FontStyle.Bold); richTextBox1.SelectionColor = Color.OrangeRed; richTextBox1.SelectedText = “读入的RTF文件为:source.rtfn“; richTextBox1.SelectionFont = new Font(“宋体“, 14, System.Drawing.FontStyle.Bold); richTextBox1.SelectionColor = Color.LightSalmon; richTextBox1.SelectedText = “保存RTF文件为:result.rtfn“; richTextBox1.SelectionFont = new Font(“隶书“, 14, System.Drawing.FontStyle.Bold); richTextBox1.SelectionColor = Color.BlueViolet; richTextBox1.SelectedText =“可以使用锁定功能保护文本中的关键字符,以免被错误地修改n“; richTextBox1.SelectionFont = new Font(“隶书“, 14, System.Drawing.FontStyle.Bold); richTextBox1.SelectionColor = Color.Purple; richTextBox1.SelectedText = “可以使用替换功能修改文本中的某些内容,或直接修改。n“; richTextBox1.SelectionBullet = false; ,private void buttonOpenFile_Click(object sender, EventArgs e) richTextBox1.LoadFile(“D:source.rtf“, RichTextBoxStreamType.RichText); private void buttonSaveFile_Click(object sender, EventArgs e) richTextBox1.SaveFile(“D:result.rtf“, RichTextBoxStreamType.RichText); MessageBox.Show(“当前文本已保存于“result.rtf”文件中!“); private void buttonProtected_Click(object sender, EventArgs e) int myText2 = richTextBox1.Find(textBoxProtected.Text); if (textBoxProtected.Text = “) MessageBox.Show(“没有指定要保护的信息!“); return; if (myText2 = -1) MessageBox.Show(“文本中不存在指定的字符串!“); return; richTextBox1.SelectionProtected = true; ,private void buttonFind_Click(object sender, EventArgs e) /若没有指定替换或被替换字符串,则不应执行该事件 if (textBoxFind1.Text = “ | textBoxFind2.Text = “) MessageBox.Show(“没有完整指定替换或被替换字符串!“); return; /若没有找到所要替换的指定字符串,则提示并退出 int myTextPosition = richTextBox1.Find(textBoxFind1.Text); if (myTextPosition = -1) MessageBox.Show(“文本中没有找到字符串!“); return; /若所要替换的指定字符串是已经被保护的关键信息,则提示不能替换 if (richTextBox1.SelectionProtected) MessageBox.Show(“字符串已经被设为只读状态,不能替换!“); return; ,/若替换操作的条件合法,则进行替换操作,并给出提示信息 richTextBox1.SelectionColor = Color.Red; richTextBox1.SelectionFont = new Font(“隶书“, 16, System.Drawing.FontStyle.Bold); richTextBox1.SelectedText = textBoxFind2.Text; myTextPosition+; labelResult.Visible = true; labelResult.Text = string.Format(“目前共有0个文字,您要查找的在第2个字符的位置上,已被替换为!“,richTextBox1.Text.Length, textBoxFind1.Text, myTextPosition, textBoxFind2.Text); ,5.2.5 CheckBox控件,ThreeState属性(仅在代码方式下可用):表示是否启用复选框的第三种状态不确定状态。若设置该属性为true,则当前CheckBox变为三选一的复选框,其可选值有Checked、Unchecked和Indeterminate三种 Checked属性:获取或设置复选框的选中状态。true表示选中;false表示未选中。 CheckedChanged事件:当复选框的Checked属性值更改时触发的操作。,Appearance属性:指定CheckBox控件是以默认的复选框样式显示,还是以类似于Button控件的样式显示。 FlatStyle属性:表示当鼠标移动到复选框上时,复选框所要显示的外观。 注意:当CheckBox控件作为三选一的复选框时,CheckState属性值与Checked属性值的对应关系,Checked属性的true对应于CheckState属性的Checked和Indeterminate值, Checked属性的false对应于CheckState属性的Unchecked值。 Click事件:当鼠标单击当前CheckBox控件时触发的操作。,第一步:设计画面。 第二步:添加代码。 private void checkBox_CheckedChanged(object sender, System.EventArgs e) CheckBox checkbox=(CheckBox)sender; if(checkbox.Checked) checkbox.ForeColor=Color.Green; else checkbox.ForeColor=Color.Black; ,第三步:将三个CheckBox控件的CheckedChanged触发事件均选择为checkBox_CheckedChanged。 第四步:添加button1按钮的Click事件代码。 private void button1_Click(object sender, System.EventArgs e) string str=“选择结果:“; str+=(this.checkBox1.Checked=true)?(this.checkBox1.Text+“、“):“; str+=(this.checkBox2.Checked=true)?(this.checkBox2.Text+“、“):“; str+=(this.checkBox3.Checked=true)?(this.checkBox3.Text+“、“):“; if(strstr.Length-1=、) str=str.Substring(0,str.Length-1); MessageBox.Show(str); 第五步:运行,观察结果。,例5.5:设计一个窗体,要求一个复选框用于改变窗体的颜色,一个复选框用于改变窗体上的字体大小,第三个复选框与前两个复选框关联,根据其选中、未选中和不确定状态来表示前两个复选框的全部选中、全部未选中和只有一个选中的3种可能状态。,private void checkBoxColor_CheckedChanged(object sender, EventArgs e) if (checkBoxColor.Checked) this.BackColor = Color.LightBlue; else this.BackColor = Color.LightGreen; private void checkBoxFont_CheckedChanged(object sender, EventArgs e) if (checkBoxFont.Checked) this.Font = new Font(this.Font.FontFamily.Name, 12, this.Font.Style); else this.Font = new Font(this.Font.FontFamily.Name, 8, this.Font.Style); ,private void checkBoxSelectAll_CheckedChanged(object sender, EventArgs e) if (checkBoxSelectAll.Checked = false) checkBoxColor.Checked = false; checkBoxFont.Checked = false; private void checkBoxSelectAll_Click(object sender, EventArgs e) checkBoxSelectAll.ThreeState = false; if (checkBoxSelectAll.Checked) checkBoxColor.Checked = true; checkBoxFont.Checked = true; else if (checkBoxSelectAll.Checked = false) checkBoxColor.Checked = false; checkBoxFont.Checked = false; ,private void SetCheckState() if (checkBoxColor.Checked ,5.2.6 CheckedListBox控件,复选框列表控件,提供一个项列表,每一项都是一个复选框.当选项多时,或者动态决定有那些选项时,可以用这个控件.常用属性 (1) Items属性:项的集合。 (2) Count属性:项的数目。 (3) CheckOnClick属性:首次单击时是否改变状态。 (4) MultiColumn属性:true或者false,多列形式显示各项 。 常用事件:SelectedIndexChanged事件。 常用方法: (1) GetItemChecked方法:获取指定项是否被选中 。 (2) SetItemChecked方法:设置某个复选框的选中状态。 例:P124 例5-6,private void button1_Click(object sender, System.EventArgs e) string mystr = “您所选择的课程是:“; / checkedListBox1.CheckedItems.Count是用户选择项目的个数 int checkedNumber = checkedListBox1.CheckedItems.Count; if (checkedNumber = 0) MessageBox.Show(“您还没有选择任何课程!“); else for (int i = 0; i checkedNumber; i+) / checkedListBox1.CheckedItemsi是用户选中项集合中的第i项 mystr += checkedListBox1.CheckedItemsi + “;“; /如果尾部有分号,则将尾部的分号变为叹号 if (mystrmystr.Length - 1 = ;) mystr = mystr.Substring(0, mystr.Length - 1); mystr += “!“; MessageBox.Show(mystr); ,private void buttonReference_Click(object sender, EventArgs e) /取消已经选中的项 for (int i = 0; i checkedListBox1.Items.Count; i+) checkedListBox1.SetItemChecked(i, false); checkedListBox1.SetSelected(i, false); /自动添加建议选中的项 checkedListBox1.SetItemChecked(0, true); checkedListBox1.SetItemChecked(3, true); checkedListBox1.SetItemChecked(7, true); ,5.2.7 RadioButton控件,特点: (1)单选 (2)以各自所在的容器来划分组,如果在一个窗体上创建多个单选按钮组,可以使用GroupBox或者Panel控件作为容器。 除了是单选外,其他用法与CheckedListBox用法相同。 例5-7,private void RB_CheckedChanged(object sender, System.EventArgs e) RadioButton check = (RadioButton)sender; if (check.Checked) textBoxResult2.Text = check.Text; ,5.2.8 ComboBox控件,由两部分组合而成:一个文本框和一个列表框 常用属性 1) DropDownStyle属性:表示组合框的样式 2) Items属性 3) SelectedItem属性 4) SelectedIndex属性 5) SelectedValue属性 6) Text属性 常用方法 1) Add方法、Remove方法、Insert方法 2) AddRange方法 3) Clear方法 4) IndexOf方法 常用事件 SelectedIndexChanged事件:SelectedIndex属性更改后触发的动作。 例5-8,private void EditEnable(object sender, EventArgs e) /由于nameComBox控件可以由用户输入新姓名,判断时不能使用SelectedIndex属性 if (comboBoxName.Text != “ ,private void buttonAddName_Click(object sender, EventArgs e) if (comboBoxName.Text != “) bool newitem = true; /判断当前comboBoxName中用户输入的姓名是否已经存在于下拉列表中 for (int i = 0; i comboBoxName.Items.Count; i+) string oneitem = Convert.ToString(comboBoxName.Itemsi); if (oneitem = comboBoxName.Text) newitem = false; /如果用户输入的姓名不在下拉列表中,则添加 if (newitem) comboBoxName.Items.Add(comboBoxName.Text); ,private void buttonOpenFile_Click(object sender, EventArgs e) richTextBox1.LoadFile(“D:source.rtf“); /保存文件,并清除RTFRichBox中的文本,给出提示信息 private void buttonSaveFile_Click(object sender, EventArgs e) richTextBox1.SaveFile(“D:source.rtf“); richTextBox1.Clear(); MessageBox.Show(“文件保存完毕!“); richTextBox1.Enabled = false; buttonOpenFile.Enabled = false; buttonSaveFile.Enabled = false; ,5.2.9 ListBox控件,用法及属性有些类似于CheckedListBox。 常用属性 1) Items:描述控件对象中的所有项。 2)MutiColumn:决定是否可以以多列的形式显示各项。 3) SelectionMode:选择项时可以使用的方法,有四种: None:不能选择任何条目。 One:每次只能选择一个条目。 MultiSimple:每次可以选择一个条目或多个条目。 MultiExtended:每次可以选择一个条目或者多个条目,仅用鼠标单击各条目时,每次选择一个条目;使用组合键(如Shift或Ctrl)配合时,可以选择多个条目。 4) SelectedIndex:当前选定的条目中从零开始的索引。 5) SelectedItems:获取一个集合,该集合包含所有当前选定条目的从零开始的所有项。,5.2.9 ListBox控件(续),常用事件 SelectedIndexChanged:当SelectedIndex属性值更改时触发。,例5-9:,/删除选定的课程项 private void buttonDelete_Click(object sender, EventArgs e) while (listBox1.SelectedIndex = 0) listBox1.Items.RemoveAt(listBox1.SelectedIndex); /清空课程列表 private void buttonDeleteAll_Click(object sender, EventArgs e) listBox1.Items.Clear(); ,/向课程列表中添加新课程 private void buttonAdd_Click(object sender, EventArgs e) string addedText = textBoxAdd.Text; if (addedText = “) MessageBox.Show(“没有输入所要添加的课程!“); return; /检查当前所要添加的新课程是否已存在于课程列表中 /若存在给出提示信息;否则添加新项 if (listBox1.Items.Contains(addedText) MessageBox.Show(“课程在列表中已存在!“); else listBox1.Items.Add(addedText); textBoxAdd.Clear(); ,5.2.10 Timer组件,检查是否到达事先规定的时间间隔,并在到达时间间隔时触发的事件中执行需要的功能。 常用属性 1) Enabled:是否启用计时,false表示停止计时,true表示开始计时。 2) Interval:触发Tick事件的间隔时间,以毫秒为单位,默认为100ms。 事件 Tick:每隔Interval属性指定的时间都会触发。,例5-10:,private void timerMy_Tick(object sender, EventArgs e) labelDisplay.Text = DateTime.Now.ToLongTimeString(); private void buttonOK_Click(object sender, EventArgs e) timerMy.Enabled = !timerMy.Enabled; buttonOK.Text = timerMy.Enabled ? “停止“ : “开始“; ,5.2.11 PictureBox控件,常用属性 1) Image:在PictureBox中显示的图片。 2) SizeMode:图片在控件中的显示方式,有五种选择: AutoSize:自动调整控件PictureBox大小,使其等于所包含的图片大小。 CenterImage:将控件的中心和图片的中心对齐显示。如果控件比图片大,则图片将居中显示。如果图片比控件大,则图片将居于控件中心,而外边缘将被剪裁掉。 Normal:图片被置于控件的左上角。如果图片比控件大,则图片的超出部分被剪裁掉。 StretchImage:控件中的图像被拉伸或收缩,以适合控件的大小,完全占满控件。 Zoom:控件中的图片按照比例拉伸或收缩,以适合控件的大小,占满控件的长度或高度。,例5-11:,namespace PictureBoxExample public partial class FormPictureBox : Form Bitmap bitmap = new Bitmap8; int num = 0; int onceMove = 10; public FormPictureBox() InitializeComponent(); ,private void FormPictureBox_Load(object sender, EventArgs e) this.BackColor = Color.White; myTimer.Interval = trackBar1.Value; for (int i = 1; i = 8; i+) bitmapi - 1 = new Bitmap(Application.StartupPath + “imagest“ + i.ToString() + “.jpg“); myTimer.Enabled = false; private void trackBar1_Scroll(object sender, EventArgs e) myTimer.Interval = trackBar1.Value; ,private void myTimer_Tick(object sender, EventArgs e) num+; int num1 = (num + 1) % 8; int num2 = (num + 2) % 8; int num3 = (num + 3) % 8; pictureBoxSmall.Image = bitmapnum1; pictureBoxMiddle.Image = bitmapnum2; pictureBoxLarge.Image = bitmapnum3; Random r = new Random(); pictureBoxSmall.Left = (pictureBoxSmall.Left + r.Next(onceMove) % Width; pictureBoxMiddle.Left = (pictureBoxMiddle.Left + r.Next(onceMove) % Width; pictureBoxLarge.Left = (pictureBoxLarge.Left + r.Next(onceMove) % Width; ,private void buttonStart_Click(object sender, EventArgs e) myTimer.Enabled = true; private void buttonContinue_Click(object sender, EventArgs e) myTimer.Enabled = true; private void buttonPause_Click(object sender, EventArgs e) myTimer.Enabled = false; ,5.3 菜单与工具栏,5.3.1 MenuStrip控件 MenuStrip控件的常用属性 (1) Dock:指示菜单栏在窗体中停靠的位置,默认值为Top。 (2) Item

温馨提示

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

评论

0/150

提交评论