资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第4章 Windows程序设计本章我们将进行:本章我们将进行:本章我们将进行:本章我们将进行: 各种基本控件的使用和属性、以及相应事件的处理各种基本控件的使用和属性、以及相应事件的处理各种基本控件的使用和属性、以及相应事件的处理各种基本控件的使用和属性、以及相应事件的处理 用以解释概念的诸多小程序用以解释概念的诸多小程序用以解释概念的诸多小程序用以解释概念的诸多小程序 学以致用的大量练习学以致用的大量练习学以致用的大量练习学以致用的大量练习例例4.14.1:图片框上的单击事件。要点:单击事件,消息显示。要点:单击事件,消息显示。要点:单击事件,消息显示。要点:单击事件,消息显示。private void pictureBox1_Click(object sender, EventArgs e)MessageBox.Show(图像显示程序1.0n张飞, about);Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章项目中的主要文件扩扩扩扩展展展展名名名名解释解释解释解释. .cscscscscsharpcsharp的缩写,表的缩写,表的缩写,表的缩写,表明该文件是明该文件是明该文件是明该文件是csharpcsharp的源文的源文的源文的源文件件件件. .cscsproproj jcsharpcsharp项目文件,以后就项目文件,以后就项目文件,以后就项目文件,以后就双击这个文件打开整个项双击这个文件打开整个项双击这个文件打开整个项双击这个文件打开整个项目进行修改目进行修改目进行修改目进行修改. .reresxsx资源文件,其中资源文件,其中资源文件,其中资源文件,其中x x提示我们提示我们提示我们提示我们该资源是以该资源是以该资源是以该资源是以xmlxml形式存储的形式存储的形式存储的形式存储的目录目录目录目录作用作用作用作用binbin生成的可执行文件就放在这生成的可执行文件就放在这生成的可执行文件就放在这生成的可执行文件就放在这个地方个地方个地方个地方Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章练习1.1.1.1.请用文本阅读器(记事本)打开项目中的请用文本阅读器(记事本)打开项目中的请用文本阅读器(记事本)打开项目中的请用文本阅读器(记事本)打开项目中的. . . .resxresxresxresx文件,文件,文件,文件,能不能找到导入的图片在什么地方。能不能找到导入的图片在什么地方。能不能找到导入的图片在什么地方。能不能找到导入的图片在什么地方。2.2.2.2.请用记事本打开项目文件浏览一下。请用记事本打开项目文件浏览一下。请用记事本打开项目文件浏览一下。请用记事本打开项目文件浏览一下。3.3.3.3.PictureBoxPictureBoxPictureBoxPictureBox能导入哪些类型的文件?能导入哪些类型的文件?能导入哪些类型的文件?能导入哪些类型的文件?Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章例例例例4.34.34.34.3:改变改变LabelLabel的背景色。要求:在的背景色。要求:在CheckBoxCheckBox被选中时被选中时才能生效。才能生效。要点。要点。要点。要点。CheckBoxCheckBoxCheckBoxCheckBox的使用,的使用,的使用,的使用,LabelLabelLabelLabel背景色的改变。背景色的改变。背景色的改变。背景色的改变。if (checkBox1.Checked = true)label1.BackColor = Color.Red;Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章问题一程序段程序段程序段程序段if (checkBox1.Checked = true)if (checkBox1.Checked = true)if (checkBox1.Checked = true)if (checkBox1.Checked = true) label1.BackColor = label1.BackColor = label1.BackColor = label1.BackColor = Color.RedColor.RedColor.RedColor.Red; ; ; ; 能否改写为能否改写为能否改写为能否改写为if checkBox1.Checkedif checkBox1.Checkedif checkBox1.Checkedif checkBox1.Checked label1.BackColor = label1.BackColor = label1.BackColor = label1.BackColor = Color.RedColor.RedColor.RedColor.Red; ; ; ; Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章问题二private void button1_Click(object sender, EventArgs e)if (checkBox1.Checked)if (label1.BackColor = Color.Red)label1.BackColor = Color.Blue;elselabel1.BackColor = Color.Red;elseMessageBox.Show(你没有选中复选框);这段代码的行为是什么?Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章例例4.44.4:假设需要给班上同学打综合评定分。因此,每一:假设需要给班上同学打综合评定分。因此,每一:假设需要给班上同学打综合评定分。因此,每一:假设需要给班上同学打综合评定分。因此,每一个同学都是一个对象,含有数据姓名(个同学都是一个对象,含有数据姓名(个同学都是一个对象,含有数据姓名(个同学都是一个对象,含有数据姓名(namenamenamename)和评定分)和评定分)和评定分)和评定分(scorescorescorescore)。为了给一个同学增加评定分,给另外一个同)。为了给一个同学增加评定分,给另外一个同)。为了给一个同学增加评定分,给另外一个同)。为了给一个同学增加评定分,给另外一个同学减少评定分,我们还需要两个方法:学减少评定分,我们还需要两个方法:学减少评定分,我们还需要两个方法:学减少评定分,我们还需要两个方法:GiveScoreGiveScoreGiveScoreGiveScore和和和和TakeOffScoreTakeOffScoreTakeOffScoreTakeOffScore。因此,一个对象的类图应该是这样的。因此,一个对象的类图应该是这样的。因此,一个对象的类图应该是这样的。因此,一个对象的类图应该是这样的。如果有两个学生:张飞(如果有两个学生:张飞(如果有两个学生:张飞(如果有两个学生:张飞(zhangfeizhangfeizhangfeizhangfei)和刘备()和刘备()和刘备()和刘备(liubeiliubeiliubeiliubei)。)。)。)。需要给张飞加分应该使用需要给张飞加分应该使用需要给张飞加分应该使用需要给张飞加分应该使用zhangfei.GiveScore(5)zhangfei.GiveScore(5)zhangfei.GiveScore(5)zhangfei.GiveScore(5),给刘,给刘,给刘,给刘备减分使用备减分使用备减分使用备减分使用liubei.TakeOffScore(5)liubei.TakeOffScore(5)liubei.TakeOffScore(5)liubei.TakeOffScore(5)Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章1.1.1.1.新新新新建建建建一一一一个个个个GUIGUIGUIGUI项项项项目目目目。在在在在解解解解决决决决方方方方案案案案资资资资源源源源管管管管理理理理器器器器中中中中点点点点击击击击右右右右键键键键,在该项目下新增一个类,命名为在该项目下新增一个类,命名为在该项目下新增一个类,命名为在该项目下新增一个类,命名为“Student”Student”Student”Student”。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章2. 键入代码public class Studentpublic string Name;public int Score;public int GiveScore(int amount)if (amount 0)Score += amount;return amount;elseMessageBox.Show(加分: + amount + 不是一个合理值);return 0;public int TakeOffScore(int amount)if (Score = amount & amount 0)Score -= amount;return amount;elseMessageBox.Show(减分: + amount + 不是一个合理值);return 0;Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章在Form1.cs中public partial class Form1 : Form后键入代码public partial class Form1 : FormStudent zhangfei,liubei;public void UpdateForm()label3.Text = zhangfei.Name + 有 + zhangfei.Score + 分;label4.Text = liubei.Name + 有 + liubei.Score + 分;Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章创建并初始化创建并初始化创建并初始化创建并初始化zhangfeizhangfei和刘备两个对象和刘备两个对象和刘备两个对象和刘备两个对象public Form1()public Form1() InitializeComponent();zhangfei = new Student();liubei = new Student();zhangfei.Name = zhangfei;zhangfei.Score = 100;liubei.Name = liubei;liubei.Score = 100;UpdateForm(); Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章接下来,需要处理按钮单击事件,在给张飞加分的按钮上双击,接下来,需要处理按钮单击事件,在给张飞加分的按钮上双击,接下来,需要处理按钮单击事件,在给张飞加分的按钮上双击,接下来,需要处理按钮单击事件,在给张飞加分的按钮上双击,输入代码输入代码输入代码输入代码private void button1_Click(object sender, private void button1_Click(object sender, private void button1_Click(object sender, private void button1_Click(object sender, EventArgsEventArgsEventArgsEventArgs e) e) e) e) zhangfei.GiveScore(5);zhangfei.GiveScore(5);zhangfei.GiveScore(5);zhangfei.GiveScore(5);UpdateFormUpdateFormUpdateFormUpdateForm();();();(); Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章给刘备减分的按钮上双击,输入代码给刘备减分的按钮上双击,输入代码给刘备减分的按钮上双击,输入代码给刘备减分的按钮上双击,输入代码private void button2_Click(object sender, private void button2_Click(object sender, private void button2_Click(object sender, private void button2_Click(object sender, EventArgsEventArgsEventArgsEventArgs e) e) e) e) liubei.TakeOffScore(3);liubei.TakeOffScore(3);liubei.TakeOffScore(3);liubei.TakeOffScore(3);UpdateFormUpdateFormUpdateFormUpdateForm();();();(); 完毕完毕完毕完毕Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章响应键盘上的按键例例4.54.5:窗体上放置一个窗体上放置一个窗体上放置一个窗体上放置一个LabelLabelLabelLabel,当按下键盘上的方向键,当按下键盘上的方向键,当按下键盘上的方向键,当按下键盘上的方向键的时候,的时候,的时候,的时候,LabelLabelLabelLabel就往相应方向移动。就往相应方向移动。就往相应方向移动。就往相应方向移动。private void Form1_KeyDown(object sender, KeyEventArgs e)if (e.KeyCode = Keys.Left)label1.Left -= 3;Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章TextChanged事件指出下面代码中的错误指出下面代码中的错误指出下面代码中的错误指出下面代码中的错误private void textBox1_TextChanged(object sender, private void textBox1_TextChanged(object sender, private void textBox1_TextChanged(object sender, private void textBox1_TextChanged(object sender, EventArgsEventArgsEventArgsEventArgs e) e) e) e) textBox1.Text = textBox1.Text = textBox1.Text = textBox1.Text = textBox1.TexttextBox1.TexttextBox1.TexttextBox1.Text + a; + a; + a; + a; Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章打开文件对话框例例4.64.6:通过打开文件对话框选定图像文件,并显示在图:通过打开文件对话框选定图像文件,并显示在图:通过打开文件对话框选定图像文件,并显示在图:通过打开文件对话框选定图像文件,并显示在图像框(像框(像框(像框(PictureBoxPictureBoxPictureBoxPictureBox)中)中)中)中属性属性属性属性属性值属性值属性值属性值NameNameofdSelectPictureofdSelectPictureFilterFilterWindow Bitmaps|*.BMP|JPEG Files|*.jpgWindow Bitmaps|*.BMP|JPEG Files|*.jpgTitleTitleSelect PictureSelect Pictureprivate void btnSelectPicture_Click(object sender, EventArgs e)if (ofdSelectPicture.ShowDialog() = DialogResult.OK)picShowPicture.Image = Image.FromFile(ofdSelectPicture.FileName);this.Text = 图像查看器 ( + ofdSelectPicture.FileName + );private void btnQuit_Click(object sender, EventArgs e)this.Close();Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章如何获知一个窗体中有哪些控件例例4.74.7:让窗体上一组组件同时移动。程序界面如图所示,:让窗体上一组组件同时移动。程序界面如图所示,:让窗体上一组组件同时移动。程序界面如图所示,:让窗体上一组组件同时移动。程序界面如图所示,一点击按钮,窗体上的四个标签就会同时向右移动一点。一点击按钮,窗体上的四个标签就会同时向右移动一点。一点击按钮,窗体上的四个标签就会同时向右移动一点。一点击按钮,窗体上的四个标签就会同时向右移动一点。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章public partial class Form1 : Formpublic partial class Form1 : Form public Form1()InitializeComponent();private void button1_Click(object sender, EventArgs e)for (int i = 0; i this.Controls.Count; i+)if (this.Controlsi is Label)this.Controlsi.Left = (this.Controlsi.Left + 2) % 100; Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章如何获得当前光标的位置。private void Form1_MouseDown(object sender, private void Form1_MouseDown(object sender, private void Form1_MouseDown(object sender, private void Form1_MouseDown(object sender, MouseEventArgsMouseEventArgsMouseEventArgsMouseEventArgs e)e)e)e) 这样一段代码中,光标相关的信息都放在参数这样一段代码中,光标相关的信息都放在参数这样一段代码中,光标相关的信息都放在参数这样一段代码中,光标相关的信息都放在参数e e e e中。中。中。中。sendersendersendersender总是一总是一总是一总是一个对于事件引发源的引用,一般情况下,我们不需要关心。第二个个对于事件引发源的引用,一般情况下,我们不需要关心。第二个个对于事件引发源的引用,一般情况下,我们不需要关心。第二个个对于事件引发源的引用,一般情况下,我们不需要关心。第二个参数参数参数参数e e e e,我们常用的信息有:,我们常用的信息有:,我们常用的信息有:,我们常用的信息有:属性属性属性属性描述描述描述描述ClicksClicks用户在鼠标上点击的次数用户在鼠标上点击的次数用户在鼠标上点击的次数用户在鼠标上点击的次数ButtonButton返回用户点击的鼠标键(左键、中键、右键)返回用户点击的鼠标键(左键、中键、右键)返回用户点击的鼠标键(左键、中键、右键)返回用户点击的鼠标键(左键、中键、右键)X X返回当鼠标点击的时候鼠标位置相对于其包容器(返回当鼠标点击的时候鼠标位置相对于其包容器(返回当鼠标点击的时候鼠标位置相对于其包容器(返回当鼠标点击的时候鼠标位置相对于其包容器(containercontainer)的横)的横)的横)的横向方向的偏移量向方向的偏移量向方向的偏移量向方向的偏移量Y Y同上,只是改为纵向方向的偏移量同上,只是改为纵向方向的偏移量同上,只是改为纵向方向的偏移量同上,只是改为纵向方向的偏移量Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章一个窗体的初始位置在一个窗体刚被打开的时候,究竟显示在屏幕的什么地在一个窗体刚被打开的时候,究竟显示在屏幕的什么地在一个窗体刚被打开的时候,究竟显示在屏幕的什么地在一个窗体刚被打开的时候,究竟显示在屏幕的什么地方,我们可以通过设置窗体的方,我们可以通过设置窗体的方,我们可以通过设置窗体的方,我们可以通过设置窗体的startPositionstartPositionstartPositionstartPosition属性来决定。属性来决定。属性来决定。属性来决定。值值值值描述描述描述描述ManualManual设计时的设计时的设计时的设计时的LocationLocation属性决定了窗体初始的位置属性决定了窗体初始的位置属性决定了窗体初始的位置属性决定了窗体初始的位置( (相对于屏幕相对于屏幕相对于屏幕相对于屏幕) )CenterScreenCenterScreen窗体显示在屏幕中央窗体显示在屏幕中央窗体显示在屏幕中央窗体显示在屏幕中央WindowsDefaultLocationWindowsDefaultLocation窗体显示在窗体显示在窗体显示在窗体显示在WindowsWindows默认显示窗体的位置默认显示窗体的位置默认显示窗体的位置默认显示窗体的位置WindowsDefaultBoundsWindowsDefaultBounds窗体显示在窗体显示在窗体显示在窗体显示在WindowsWindows默认的位置,大小由默认的位置,大小由默认的位置,大小由默认的位置,大小由WindowsWindows决定决定决定决定CenterPositionCenterPosition窗体显示在其父窗体的中央窗体显示在其父窗体的中央窗体显示在其父窗体的中央窗体显示在其父窗体的中央Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章最小化窗体可以使用以下代码使窗体最小化可以使用以下代码使窗体最小化可以使用以下代码使窗体最小化可以使用以下代码使窗体最小化: : : :this.Windowstatethis.Windowstatethis.Windowstatethis.Windowstate = = = = FormWindowstate.MinimizedFormWindowstate.MinimizedFormWindowstate.MinimizedFormWindowstate.Minimized; ; ; ;其中,对其中,对其中,对其中,对WindowstateWindowstateWindowstateWindowstate的赋值可以决定窗体在出现的时候的赋值可以决定窗体在出现的时候的赋值可以决定窗体在出现的时候的赋值可以决定窗体在出现的时候是最大化还是最小化的,或者保持普通状态。是最大化还是最小化的,或者保持普通状态。是最大化还是最小化的,或者保持普通状态。是最大化还是最小化的,或者保持普通状态。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章让窗体最小化的时候不在任务栏出现让窗体最小化的时候不在任务栏出现让窗体最小化的时候不在任务栏出现让窗体最小化的时候不在任务栏出现设设置置窗窗体体的的ShowInTaskbarShowInTaskbar属属性性为为falsefalse。这这时时候候,仍仍然然可以通过可以通过Alt-TabAlt-Tab将窗体应用程序显示出来。将窗体应用程序显示出来。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章显示多个窗体显示多个窗体在工程中添加一个新的窗体,窗体默认将被命名为在工程中添加一个新的窗体,窗体默认将被命名为在工程中添加一个新的窗体,窗体默认将被命名为在工程中添加一个新的窗体,窗体默认将被命名为Form2Form2。private void button2_Click(object sender, private void button2_Click(object sender, EventArgsEventArgs e) e) Form2 Form2 newformnewform = new Form2(); = new Form2();newform.ShowDialognewform.ShowDialog();();/ / newform.Shownewform.Show();(); 上面代码将显示窗体上面代码将显示窗体上面代码将显示窗体上面代码将显示窗体2 2,其中,其中,其中,其中ShowDialogShowDialog()()用于显示模式对话框,用于显示模式对话框,用于显示模式对话框,用于显示模式对话框,意味着窗体意味着窗体意味着窗体意味着窗体2 2总是出现在窗体总是出现在窗体总是出现在窗体总是出现在窗体1 1的上面,除非窗体的上面,除非窗体的上面,除非窗体的上面,除非窗体2 2被关闭,否则没有被关闭,否则没有被关闭,否则没有被关闭,否则没有办法回到窗体办法回到窗体办法回到窗体办法回到窗体1 1。而采用。而采用。而采用。而采用ShowShow方法便不具备这种效果。方法便不具备这种效果。方法便不具备这种效果。方法便不具备这种效果。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章关闭一个窗体关闭一个窗体关闭一个窗体关闭一个窗体我我们们有有两两种种方方法法。一一种种是是采采用用this.Closethis.Close()()方方法法,这这种种情情况况下下,该该窗窗体体占占用用资资源源将将被被释释放放;另另一一种种是是采采用用this.Hidethis.Hide()()方方法法,这这 种种方方法法和和采采用用this.Visiblethis.Visible = = falsefalse差差不不多多,只只是是将将窗窗体体隐隐藏藏起起来来了了,我我们们仍仍然然可可以以通通过过代代码码访访问问到到窗体中的数据窗体中的数据Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章窗体中控件相对窗体的布局方式窗体中控件相对窗体的布局方式窗体中控件相对窗体的布局方式窗体中控件相对窗体的布局方式当窗口大小被改变时Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章设置一下右侧两个按钮的设置一下右侧两个按钮的设置一下右侧两个按钮的设置一下右侧两个按钮的AnchorAnchorAnchorAnchor属性为属性为属性为属性为TopTopTopTop,RightRightRightRight。这个意思是在窗体大小改变的时候,控件距离窗体的上这个意思是在窗体大小改变的时候,控件距离窗体的上这个意思是在窗体大小改变的时候,控件距离窗体的上这个意思是在窗体大小改变的时候,控件距离窗体的上段(段(段(段(toptoptoptop)和右端()和右端()和右端()和右端(rightrightrightright)的距离为一常数。当然,这)的距离为一常数。当然,这)的距离为一常数。当然,这)的距离为一常数。当然,这个常数在你设计界面的时候就已经被个常数在你设计界面的时候就已经被个常数在你设计界面的时候就已经被个常数在你设计界面的时候就已经被IDEIDEIDEIDE自动设置好了。自动设置好了。自动设置好了。自动设置好了。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章多文档界面(多文档界面(多文档界面(多文档界面(MDI FormsMDI FormsMDI FormsMDI Forms)1.1.1.1.新建项目,将项目命名为新建项目,将项目命名为新建项目,将项目命名为新建项目,将项目命名为MDI ExampleMDI ExampleMDI ExampleMDI Example2.2.2.2.设置窗体属性如下设置窗体属性如下设置窗体属性如下设置窗体属性如下this.IsMdiContainerthis.IsMdiContainerthis.IsMdiContainerthis.IsMdiContainer = true; = true; = true; = true;this.Namethis.Namethis.Namethis.Name = = = = MDIParentMDIParentMDIParentMDIParent;this.Textthis.Textthis.Textthis.Text = MDI Parent; = MDI Parent; = MDI Parent; = MDI Parent;Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章3.3.3.3.在项目中添加两个窗体,将窗体类文件名为为在项目中添加两个窗体,将窗体类文件名为为在项目中添加两个窗体,将窗体类文件名为为在项目中添加两个窗体,将窗体类文件名为为Child1Form.csChild1Form.csChild1Form.csChild1Form.cs和和和和Child2Form.csChild2Form.csChild2Form.csChild2Form.cs。Child1FormChild1FormChild1FormChild1Form中设置如下属性。中设置如下属性。中设置如下属性。中设置如下属性。this.Namethis.Namethis.Namethis.Name = Child1Form; = Child1Form; = Child1Form; = Child1Form;this.Textthis.Textthis.Textthis.Text = Child 1; = Child 1; = Child 1; = Child 1;Child2FormChild2FormChild2FormChild2Form中设置如下属性。中设置如下属性。中设置如下属性。中设置如下属性。this.Namethis.Namethis.Namethis.Name = Child2Form; = Child2Form; = Child2Form; = Child2Form;this.Textthis.Textthis.Textthis.Text = Child 2; = Child 2; = Child 2; = Child 2;Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章4. 4. 4. 4. 在在在在MDIParentMDIParentMDIParentMDIParent窗体上双击,写入如下代码:窗体上双击,写入如下代码:窗体上双击,写入如下代码:窗体上双击,写入如下代码:Form Form Form Form frmChildfrmChildfrmChildfrmChild = new Child1Form(); = new Child1Form(); = new Child1Form(); = new Child1Form();frmChild.MdiParentfrmChild.MdiParentfrmChild.MdiParentfrmChild.MdiParent = this; = this; = this; = this;frmChild.ShowfrmChild.ShowfrmChild.ShowfrmChild.Show();();();();其中其中其中其中 frmChild.MdiParentfrmChild.MdiParentfrmChild.MdiParentfrmChild.MdiParent = this = this = this = this指明子窗体的父窗体指明子窗体的父窗体指明子窗体的父窗体指明子窗体的父窗体是是是是MDIparentMDIparentMDIparentMDIparent。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章5. 5. 5. 5. 现在可以运行试试了。接下来,在现在可以运行试试了。接下来,在现在可以运行试试了。接下来,在现在可以运行试试了。接下来,在Child1FormChild1FormChild1FormChild1Form上添置一上添置一上添置一上添置一个按钮,设置按钮的相关属性为个按钮,设置按钮的相关属性为个按钮,设置按钮的相关属性为个按钮,设置按钮的相关属性为 this.button1.Text = this.button1.Text = this.button1.Text = this.button1.Text = 显示窗体显示窗体显示窗体显示窗体2;2;2;2;双击按钮,输入以下代码双击按钮,输入以下代码双击按钮,输入以下代码双击按钮,输入以下代码Form Form Form Form frmChildfrmChildfrmChildfrmChild = new Child2Form(); = new Child2Form(); = new Child2Form(); = new Child2Form();frmChild.MdiParentfrmChild.MdiParentfrmChild.MdiParentfrmChild.MdiParent = = = = this.MdiParentthis.MdiParentthis.MdiParentthis.MdiParent; ; ; ;frmChild.ShowfrmChild.ShowfrmChild.ShowfrmChild.Show();();();();这里留意代码的第二行右侧的变化。这里留意代码的第二行右侧的变化。这里留意代码的第二行右侧的变化。这里留意代码的第二行右侧的变化。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章文本框设置文本对齐方式设置文本对齐方式设置文本对齐方式设置文本对齐方式TextAlignTextAlignTextAlignTextAlign属性属性属性属性创建多行文本框创建多行文本框创建多行文本框创建多行文本框MultiLineMultiLineMultiLineMultiLine属性属性属性属性增加滚动条增加滚动条增加滚动条增加滚动条ScrollBarsScrollBarsScrollBarsScrollBars属性属性属性属性限制文本输入长度限制文本输入长度限制文本输入长度限制文本输入长度MaxLengthMaxLengthMaxLengthMaxLength属性属性属性属性用作密码输入框用作密码输入框用作密码输入框用作密码输入框PasswordCharPasswordCharPasswordCharPasswordChar属性,尽管用户看不见,属性,尽管用户看不见,属性,尽管用户看不见,属性,尽管用户看不见,但是使用但是使用但是使用但是使用TextTextTextText属性总是获得用户输入的密码文本。属性总是获得用户输入的密码文本。属性总是获得用户输入的密码文本。属性总是获得用户输入的密码文本。几个常用事件,几个常用事件,几个常用事件,几个常用事件,ClickClickClickClick,MouseDownMouseDownMouseDownMouseDown,MouseUpMouseUpMouseUpMouseUp,MouseMoveMouseMoveMouseMoveMouseMove。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章按钮AcceptButtonAcceptButtonAcceptButtonAcceptButton属性。设置窗体的属性。设置窗体的属性。设置窗体的属性。设置窗体的AcceptButtonAcceptButtonAcceptButtonAcceptButton属性为某属性为某属性为某属性为某个按钮使得在窗体上按下个按钮使得在窗体上按下个按钮使得在窗体上按下个按钮使得在窗体上按下EnterEnterEnterEnter键就相当于在该按钮上点键就相当于在该按钮上点键就相当于在该按钮上点键就相当于在该按钮上点击。即设置了窗体的默认确认按钮。击。即设置了窗体的默认确认按钮。击。即设置了窗体的默认确认按钮。击。即设置了窗体的默认确认按钮。CancelButtonCancelButtonCancelButtonCancelButton属性。和上面正好相反,键盘上按下属性。和上面正好相反,键盘上按下属性。和上面正好相反,键盘上按下属性。和上面正好相反,键盘上按下ESCESCESCESC,该按钮的单击事件即被触发。该按钮的单击事件即被触发。该按钮的单击事件即被触发。该按钮的单击事件即被触发。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章PanelPanelPanelPanel和和和和GroupBoxGroupBoxGroupBoxGroupBox 它们之间的区别是,如果你想要一个边框或者一个标题,它们之间的区别是,如果你想要一个边框或者一个标题,它们之间的区别是,如果你想要一个边框或者一个标题,它们之间的区别是,如果你想要一个边框或者一个标题,请使用请使用请使用请使用GroupBoxGroupBoxGroupBoxGroupBox,如果没有这样的需求,使用,如果没有这样的需求,使用,如果没有这样的需求,使用,如果没有这样的需求,使用PanelPanelPanelPanel就好。就好。就好。就好。另外,另外,另外,另外,PanelPanelPanelPanel能支持滚动条而能支持滚动条而能支持滚动条而能支持滚动条而GroupBoxGroupBoxGroupBoxGroupBox没有。没有。没有。没有。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章Groupbox示例private void radioButton1_CheckedChanged(object sender, private void radioButton1_CheckedChanged(object sender, EventArgsEventArgs e) e) if (radioButton1.Checked)this.BackColor = Color.Gray; private void radioButton2_CheckedChanged(object sender, private void radioButton2_CheckedChanged(object sender, EventArgsEventArgs e) e) if (sender as RadioButton).Checked)this.BackColor = Color.Blue; 类型转化Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章列表框列表框列表框列表框关于列表框,有一个很重要的属性,叫关于列表框,有一个很重要的属性,叫关于列表框,有一个很重要的属性,叫关于列表框,有一个很重要的属性,叫ItemsItemsItemsItems属性。大部属性。大部属性。大部属性。大部分的操作都是针对该属性的操作。分的操作都是针对该属性的操作。分的操作都是针对该属性的操作。分的操作都是针对该属性的操作。方法方法方法方法名名名名例子例子例子例子描述描述描述描述AddAddintint index = index = listBox1.Items.AddlistBox1.Items.Add(hello)(hello)在列表中增加一项,返回所在列表中增加一项,返回所在列表中增加一项,返回所在列表中增加一项,返回所在的位置序号(从在的位置序号(从在的位置序号(从在的位置序号(从0 0开始)开始)开始)开始)InserInsert tlistBox1.Items.InselistBox1.Items.Insert( i, hello)rt( i, hello)将将将将hellohello字符串插入到列表框字符串插入到列表框字符串插入到列表框字符串插入到列表框中的第中的第中的第中的第i i项项项项RemRemoveovelistBox1.Items.RelistBox1.Items.Remove(“hello”)move(“hello”)删除列表中删除列表中删除列表中删除列表中hellohello一项。如果一项。如果一项。如果一项。如果列表中有多项,这里只删除列表中有多项,这里只删除列表中有多项,这里只删除列表中有多项,这里只删除从序号从序号从序号从序号0 0开始的第一项匹配项。开始的第一项匹配项。开始的第一项匹配项。开始的第一项匹配项。RemRemoveAoveAt tlistBox1.Items.RelistBox1.Items.RemoveAt( i )moveAt( i )删除列表总的第删除列表总的第删除列表总的第删除列表总的第i i项项项项CleaClear rlistBox1.Items.ClelistBox1.Items.Clearar清空列表内容清空列表内容清空列表内容清空列表内容Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章1.1.1.1.如何得知在界面上我所选择的是列表框中的第几项?如何得知在界面上我所选择的是列表框中的第几项?如何得知在界面上我所选择的是列表框中的第几项?如何得知在界面上我所选择的是列表框中的第几项?listBox1.ItemslistBox1.SelectedIndexlistBox1.ItemslistBox1.SelectedIndexlistBox1.ItemslistBox1.SelectedIndexlistBox1.ItemslistBox1.SelectedIndex和和和和listBox1.SelectedItemlistBox1.SelectedItemlistBox1.SelectedItemlistBox1.SelectedItem同义。同义。同义。同义。1.1.1.1.保持列表框中的内容有序保持列表框中的内容有序保持列表框中的内容有序保持列表框中的内容有序Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章组合框组合框组合框组合框组合框有三种式样,与属性组合框有三种式样,与属性组合框有三种式样,与属性组合框有三种式样,与属性DropDownStyleDropDownStyleDropDownStyleDropDownStyle有关。分别是有关。分别是有关。分别是有关。分别是SimpleSimpleSimpleSimple,DropDownDropDownDropDownDropDown(默认),(默认),(默认),(默认),DropDownListDropDownListDropDownListDropDownList三种。三种。三种。三种。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章定时器定时器定时器定时器在窗体上放置一个在窗体上放置一个TimerTimer控件,该控件可以在控件,该控件可以在ComponentComponent组件页中找组件页中找到。并设定以下属性到。并设定以下属性this.timer1.Enabled = true;this.timer1.Enabled = true;this.timer1.Interval = 1000;this.timer1.Interval = 1000;双击双击双击双击TimerTimerTimerTimer控件,编写控件,编写控件,编写控件,编写timer1_Ticktimer1_Ticktimer1_Ticktimer1_Tick事件事件事件事件private void timer1_Tick(object sender, private void timer1_Tick(object sender, private void timer1_Tick(object sender, private void timer1_Tick(object sender, EventArgsEventArgsEventArgsEventArgs e) e) e) e) lblClock.TextlblClock.TextlblClock.TextlblClock.Text = = = = DateTime.Now.ToLongTimeStringDateTime.Now.ToLongTimeStringDateTime.Now.ToLongTimeStringDateTime.Now.ToLongTimeString();();();(); Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章TabControlTabControlTabControlTabControl问题一:如何知道当前位于最前的是哪一个问题一:如何知道当前位于最前的是哪一个问题一:如何知道当前位于最前的是哪一个问题一:如何知道当前位于最前的是哪一个TabPageTabPageTabPageTabPage?答:通过答:通过答:通过答:通过TabControlTabControlTabControlTabControl的的的的SelectedIndexSelectedIndexSelectedIndexSelectedIndex属性。属性。属性。属性。问题二:怎么知道用户切换了不同的标签页(问题二:怎么知道用户切换了不同的标签页(问题二:怎么知道用户切换了不同的标签页(问题二:怎么知道用户切换了不同的标签页(TabPageTabPageTabPageTabPage)?答:答:答:答:TabControlTabControlTabControlTabControl有一个事件叫做有一个事件叫做有一个事件叫做有一个事件叫做SelectedIndexChangeSelectedIndexChangeSelectedIndexChangeSelectedIndexChange。 Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章ListViewListViewListViewListViewListViewListViewListViewListView也是常用组件之一。和也是常用组件之一。和也是常用组件之一。和也是常用组件之一。和GridViewGridViewGridViewGridView组件类似,都组件类似,都组件类似,都组件类似,都能够构成能够构成能够构成能够构成“网格网格网格网格”的效果。在有这样的需求的时候,可的效果。在有这样的需求的时候,可的效果。在有这样的需求的时候,可的效果。在有这样的需求的时候,可以根据个人喜欢选用以根据个人喜欢选用以根据个人喜欢选用以根据个人喜欢选用ListViewListViewListViewListView或者或者或者或者GridViewGridViewGridViewGridView。Visual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章菜单菜单菜单菜单MenuStripMenuStripMenuStripMenuStripVisual C#.NETVisual C#.NET程序设计基础教程程序设计基础教程 第第4 4章章
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号