c应用程序设计答案_第1页
c应用程序设计答案_第2页
c应用程序设计答案_第3页
c应用程序设计答案_第4页
c应用程序设计答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、习题三1 在窗体中显示一行字符,加入标题为“红色”和“黑色”的两个按钮,分别单击两个按钮,可以改变显示字符的颜色。字符为红色时,“红色”的按钮不能使用; 字符为黑色时,“黑色”的按钮不能使用。(提示:修改按钮的属性Enabled为false使其不能使用)解:红色按钮的Click事件处理代码: button2.Enabled = true; label1.ForeColor = Color.Red; button1.Enabled = false;黑色按钮的Click事件处理代码: button1.Enabled = true; label1.ForeColor = Color.Black; b

2、utton2.Enabled = false; 将上题改为用按扭修改字体的大小,按钮的标题分别为“大字”和“小字”(参见39节)。解:将“红色”和“黑色”的两个按钮的Text属性分别改为“大字”和“小字”大字按钮的Click事件处理代码: button2.Enabled = true; label1.Font = new Font(label1.Font.Name, label1.Font.Size+2); button1.Enabled = false; 小字按钮的Click事件处理代码: button1.Enabled = true; label1.Font = new Font(labe

3、l1.Font.Name, label1.Font.Size-2); button2.Enabled = false; 加一文本框控件和一按钮,单击按钮将文本框控件输入的内容用标签控件显示。解:加一按钮,Text属性分别改为“显示”,其Click事件处理代码如下: label1.Text = textBox1.Text;修改上题,使文本框控件输入内容和标签控件显示的内容同步。 解:在textBox1的TextChanged事件处理函数中增加代码:label1.Text = textBox1.Text;增加文本框和按钮控件到窗体,单击按钮将文本框控件中选中内容的字符数和选中内容的第1个字符的索引

4、号用标签控件显示。解:textBox1的SelectionLength属性可以得到选中内容的字符数,SelectionStart属性可以得到选中内容的第1个字符的索引号。新增加按钮的Click事件处理代码如下:label1.Text = textBox1.SelectionLength.ToString()+","+textBox1.SelectionStart.ToString();用控件RadioButton选择性别,把选择的结果用Label控件显示出来。解:窗体上增加radioButton1和 radioButton2,它们的Text属性分别为“男”和“女”;在两个按

5、钮的CheckedChanged事件处理函数中分别增加代码: label1.Text = radioButton1.Text; label1.Text = radioButton2.Text;用控件ComboBox修改标签控件字体的大小。(提示:用属性Item在下拉列表中输入字号)解:在控件ComboBox的属性Item中输入数字字符,例如1,2,3.20;在ComboBox的SelectedIndexChanged事件处理函数中分别增加代码:label1.Font = new Font(label1.Font.Name, Convert.ToSingle(comboBox1.Text); 放

6、置ListBox控件到窗体中,属性Name=listBoxl。列表框中有3项,分别为:苹果、梨子、香蕉。允许多选。标签控件同步显示ListBox控件所做的选择。 解:在控件listBoxl的SelectionMode设置为MultiSimple,属性Item中输入苹果、梨子、香蕉。在 listBoxl的SelectedIndexChanged事件处理函数中分别增加代码:label1.Text = "所选择的是:"foreach( int i in listBox1.SelectedIndices ) label1.Text += listBox1.Itemsi.ToStri

7、ng() + " ,"放置ListBox、TextBox和3个Button控件到窗体中,Button控件属性Text分别为:增加、删除、清空。单击标题为“增加”的按钮,把textBox中输入的内容作为一个条目增加到listBoxl列表中;单击标题为“删除”的按钮,删除listBoxl列表中所选择的条目;单击标题为“清空”按钮,清除listBoxl列表中所有条目。 解:“增加”按钮的事件处理函数代码:listBox1.Items.Add(textBox1.Text);“删除”按钮的事件处理函数代码:listBox1.Items.RemoveAt(listBox1.Select

8、edIndex);“清空”按钮的事件处理函数代码: listBox1.Items.Clear();在窗体中显示字符,每隔1s字体变大些,变到一定尺寸后,每隔1s字体变小些,如此循环。增加一个按钮,可以启动和停止字符串字体大小变化,按钮标题给出正确提示。解:在 Form1类中增加数据成员private bool big = true; big = true表示字体正在变大,否则正在变小;将timer1的interval属性设置为1000,Enable=true;在timer1的Tick事件处理函数中增加代码:float size=label1.Font.Size;int increment =

9、1; /字体变化的增量if (big) if (size + increment < 25) label1.Font = new Font(label1.Font.Name, size + increment); else big = false;if(!big) if (size-increment>=9) label1.Font = new Font(label1.Font.Name, size- increment); else big = true; 在窗体中显示字符,每隔1s字符移动一定距离,先右移,移到右边界,再左移,移到左边界,又一次右移,如此循环。 解:在 Form

10、1类中增加数据成员:private bool MoveToRight=true;表示移动方向,true为右移,否则左移。在timer1的Tick事件处理函数中增加代码:int x=label1.Location.X;int y=label1.Location.Y;int increment=2; if (MoveToRight)if (x + label1.Size.Width) + increment>= this.ClientRectangle.Width) MoveToRight = false; else label1.Location = new Point(x+increme

11、nt, y);if (!MoveToRight) if ( x-increment<=0) MoveToRight=true; else label1.Location = new Point(x-increment, y); 在窗体中建立菜单,包括一个顶级菜单项“颜色”,其弹出菜单包括“红色”和“黑色”菜单项,用来改变显示字符的颜色,当显示字符为红色时,标题为“红色”的菜单项无效;当显示字符为黑色时,标题为“黑色”的菜单项无效。解:类似于习题3-2,只要将按钮对象名字改为菜单对象名字即可。 修改上例,当显示字符串为红色时,标题为“红色”的菜单项前增加选中标志; 当显示字符串黑色时,标题

12、为“黑色”的菜单项前增加选中标志。解:只要在“红色” 和“黑色”菜单对象的Click事件处理函数中增加代码:红色ToolStripMenuItem.Checked = true;黑色ToolStripMenuItem.Checked = false; 和黑色ToolStripMenuItem.Checked = true; 红色ToolStripMenuItem.Checked = false;为上例的菜单项增加加速键,键入Alt+C打开标题为“颜色”的顶级菜单项的弹出菜单,弹出菜单打开后,键入B完成单击标题为“黑色”的菜单项所完成的功能,键入R完成单击标题为“红色”的菜单项所完成的功能。解:

13、进入菜单项编辑器中,选择“颜色” 菜单项,设置其ShortCutKey属性为Alt+C即可。菜单项都是ToolStripMenuItem类的对象。题目有问题:键入B,应该改成键入AltB 为上例的菜单项定义加速键(属性ShortCutKeys),键入Ctrl+R使显示字符串为红色,键入Ctrl+B使显示字符串为黑色。 为上例的顶级菜单项颜色增加单击事件处理函数,在事件处理函数中判断显示的字符串的颜色,决定是否为相应的菜单项增加选中标志。解:在顶级菜单项“颜色”的单击事件处理函数中增加代码:if ( label1.ForeColor = Color.Red ) 红色ToolStripMenuIt

14、em.Checked = true; 黑色ToolStripMenuItem.Checked = false; if (label1.ForeColor = Color.Black) 黑色ToolStripMenuItem.Checked = true; 红色ToolStripMenuItem.Checked = false;在主窗体用户区拖动鼠标左键时,在状态栏中显示鼠标的位置。解:在窗体上创建StatusStrip1控件,并在控件上增加一个StatusLabel对象,对象名称为toolStripStatusLabel1。在窗体的MouseMove事件处理函数中增加以下代码:if(e.But

15、ton=MouseButtons.Left ) toolStripStatusLabel1.Text = "X:" +e.X.ToString() + ",Y:" + e.Y.ToString();习题四RichTextBox控件Lines属性是记录控件中所有文本的字符串数组,每两个回车之间字符串是数组的一个元素。定义一个数组,将属性Lines中的内容存到这个数组中。解:strings=new string richTextBox1.Lines.Length; s = richTextBox1.Lines;为设计的单文档写字板增加工具栏,实现建新文件、打

16、开文件、存文件等功能。在工具栏中,增加2个下拉列表文本框,1个选择使用的字体,1个选择字体的字号。在工具栏中,增加3个按钮,分别设定字符为黑体、斜体,增加下划线。在工具栏中,增加1个按钮,用ColorDialog对话框选择字体的颜色。解:增加工具栏工具栏上增加三个按钮,Text属性分别为“建新文件”、“打开文件”、“存文件”。增加二个ToolStripComboBox组合框,三个按钮,Text属性分别为“粗体”、“斜体”,“下划线”。增加richTextBox1控件增加对话框控件:open和save; open的Filter属性设置为:富文本文件(*.rtf)|*.rtf增加colorDial

17、og1事件处理函数代码。窗体Load事件处理代码:private void Form1_Load(object sender, EventArgs e) toolStripComboBox1.Items.Clear(); foreach (FontFamily oneFamily in FontFamily.Families) toolStripComboBox1.Items.Add(oneFamily.Name); toolStripComboBox1.Text = toolStripComboBox1.Items0.ToString(); toolStripComboBox2.Text =

18、 toolStripComboBox2.Items0.ToString(); 字体名称组合框的TextChanged事件处理代码:private void toolStripComboBox1_TextChanged(object sender, EventArgs e) string FontName= toolStripComboBox1.Text; richTextBox1.SelectionFont = new Font(FontName, richTextBox1.SelectionFont.Size);字体大小组合框的TextChanged事件处理代码:private void t

19、oolStripComboBox2_TextChanged(object sender, EventArgs e) float size=Convert.ToSingle( toolStripComboBox2.Text); richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont.Name, size); “建新文件” 按钮click事件处理代码:richTextBox1.Clear(); “打开文件” 按钮click事件处理代码:if (open() = DialogResult.OK) richTextBox1.Lo

20、ad);“存文件”的Click事件处理函数代码if (save() = DialogResult.OK) richTextBox1.Save);“粗体”按钮click事件处理代码:if (!richTextBox1.SelectionFont.Bold) richTextBox1.SelectionFont=new Font(richTextBox1.SelectionFont,richTextBox1.SelectionFont.Style | FontStyle.Bold);else richTextBox1.SelectionFont=new Font(richTextBox1.Sele

21、ctionFont, richTextBox1.SelectionFont.Style&FontStyle.Bold);“斜体”,“下划线” 按钮click事件处理代码:类似粗体设置“颜色”按钮click事件处理代码:if (colorDialog1.ShowDialog() = DialogResult.OK) richTextBox1.SelectionColor = colorDialog1.Color;如何为设计的单文档写字板实现主窗体菜单“编辑|全选”菜单项功能?解:richTextBox1.SelectAll();修改主窗体菜单“文件|打开”菜单项单击事件处理函数,在事件处

22、理函数中建立Open控件对象,退出该事件处理函数时,自动释放该对象。解:Open open =new Open( );if (open() = DialogResult.OK) . open.Dispose();RichTextBox控件的属性Modified可以指示用户是否修改文本框控件的内容。请修改书中程序,使用属性Modified判断用户是否修改了RichTextBox控件中文本内容。解:if (richTextBox1. Modified)MessageBox.Show(“文本内容被修改”);在“查找”对话框中,增加两个复选框,选择是否反向查找和区分大小写,并实现反向查找和不区分大小写

23、查找。解:假设checkBox1为“反向查找”, checkBox2为“不区分大小写”用“|”运算符可以把两个选项结合在一起,因此,按以下方式可以修改查找程序代码:int i=-1;if (checkBox1.Checked) if (checkBox2.Checked) i=richTextBox1.Find(textBox1.Text, RichTextBoxFinds.MatchCase | RichTextBoxFinds.Reverse); else i = richTextBox1.Find(textBox1.Text, RichTextBoxFinds.None| RichTextBoxFinds.Reverse);else if (checkBox2.Checked) i = richTextBox1.Find(

温馨提示

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

最新文档

评论

0/150

提交评论