ch09Answer习题答案第九章基于windows的应用程序.docx
- 文档编号:23068382
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:13
- 大小:185.21KB
ch09Answer习题答案第九章基于windows的应用程序.docx
《ch09Answer习题答案第九章基于windows的应用程序.docx》由会员分享,可在线阅读,更多相关《ch09Answer习题答案第九章基于windows的应用程序.docx(13页珍藏版)》请在冰豆网上搜索。
ch09Answer习题答案第九章基于windows的应用程序
第9章基于Windows的应用程序
9.1习题答案
1.答案:
System.Windows.Forms.Control,属性,方法,事件
2.
(1)答案:
a
(2)答案:
a
3.
(1)在窗体上,从工具栏中拖入一个Button,一个FontDialog和一个TextBox.双击button1控件,在其事件中输入以下代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
fontDialog1.ShowColor=true;
fontDialog1.Font=textBox1.Font;
fontDialog1.Color=textBox1.ForeColor;
if(fontDialog1.ShowDialog()!
=DialogResult.Cancel)
{
textBox1.Font=fontDialog1.Font;
textBox1.ForeColor=fontDialog1.Color;
}
}
(2)在表单上,从工具栏中拖入一个Button,一个PrintDialog.双击button1控件,在其事件中输入以下代码:
privateSystem.Drawing.Printing.PrintDocumentdocToPrint=
newSystem.Drawing.Printing.PrintDocument();
privatevoidbutton1_Click(objectsender,EventArgse)
{
//允许用户设置他想打印的页面大小
printDialog1.AllowSomePages=true;
//帮助按钮.
printDialog1.ShowHelp=true;
//设置要打印的页面的属性
//要显示该对话框
//则必须设置该属性或打印属性
printDialog1.Document=docToPrint;
DialogResultresult=printDialog1.ShowDialog();
//如果结果为“OK”则开始打印
if(result==DialogResult.OK)
{
docToPrint.Print();
}
}
privatevoiddocument_PrintPage(objectsender,
System.Drawing.Printing.PrintPageEventArgse)
{
//下列代码设置了打印的效果
stringtext="Indocument_PrintPagemethod.";
System.Drawing.FontprintFont=newSystem.Drawing.Font
("Arial",35,System.Drawing.FontStyle.Regular);
e.Graphics.DrawString(text,printFont,
System.Drawing.Brushes.Black,10,10);
}
运行后出现如下图:
(3)在表单上,拖入statusStrip控件,点击statusStrip状态栏下的箭头,插入toolStripStatusLabel1,进入属性,将Text属性更改为“此为状态栏,旁边可插入进度条、图片等”。
具体代码可参考下面代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceWindowsApplication1
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
statusStrip1=newSystem.Windows.Forms.StatusStrip();
toolStripStatusLabel1=newSystem.Windows.Forms.ToolStripStatusLabel();
statusStrip1.SuspendLayout();
SuspendLayout();
//
//下列代码显示了多种StatusStrip属性设置
statusStrip1.Dock=System.Windows.Forms.DockStyle.Top;
statusStrip1.GripStyle=System.Windows.Forms.ToolStripGripStyle.Visible;
statusStrip1.Items.AddRange(newSystem.Windows.Forms.ToolStripItem[]{
toolStripStatusLabel1});
statusStrip1.LayoutStyle=System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow;
statusStrip1.Location=newSystem.Drawing.Point(0,0);
statusStrip1.Name="statusStrip1";
statusStrip1.ShowItemToolTips=true;
statusStrip1.Size=newSystem.Drawing.Size(292,22);
statusStrip1.SizingGrip=false;
statusStrip1.Stretch=false;
statusStrip1.TabIndex=0;
statusStrip1.Text="statusStrip1";
//
//toolStripStatusLabel1
//
toolStripStatusLabel1.Name="toolStripStatusLabel1";
toolStripStatusLabel1.Size=newSystem.Drawing.Size(109,17);
toolStripStatusLabel1.Text="toolStripStatusLabel1";
//
//Form1
//
ClientSize=newSystem.Drawing.Size(292,273);
Controls.Add(statusStrip1);
Name="Form1";
statusStrip1.ResumeLayout(false);
statusStrip1.PerformLayout();
ResumeLayout(false);
PerformLayout();
}
}
}
分析:
StatusStrip控件可以显示正在Form上查看的对象的相关信息、对象的组件或与该对象在应用程序中的操作相关的上下文信息。
通常,StatusStrip控件由ToolStripStatusLabel对象组成,每个这样的对象都可以显示文本、图标或同时显示这二者。
StatusStrip还可以包含ToolStripDropDownButton、ToolStripSplitButton和ToolStripProgressBar控件。
(4)在表单上,拖入saveFileDialog控件和button按钮,在button1的image属性中添加一个.bmp文件。
具体代码可参考下面代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
//显示一个保存文件对话框,用户可用它来保存文件SaveFileDialogsaveFileDialog1=newSaveFileDialog();
saveFileDialog1.Filter="JPegImage|*.jpg|BitmapImage|*.bmp|GifImage|*.gif";
saveFileDialog1.Title="SaveanImageFile";
saveFileDialog1.ShowDialog();
//如果文件名不为空,打开它
if(saveFileDialog1.FileName!
="")
{
//用OpenFile方法通过文件流保存图像System.IO.FileStreamfs=
(System.IO.FileStream)saveFileDialog1.OpenFile();
//按照你在下拉菜单中选择的格式保存图像文件
switch(saveFileDialog1.FilterIndex)
{
case1:
this.button1.Image.Save(fs,
System.Drawing.Imaging.ImageFormat.Jpeg);
break;
case2:
this.button1.Image.Save(fs,
System.Drawing.Imaging.ImageFormat.Bmp);
break;
case3:
this.button1.Image.Save(fs,
System.Drawing.Imaging.ImageFormat.Gif);
break;
}
fs.Close();
}
}
分析:
SaveFileDialog组件是一个预先配置的对话框。
它与Windows使用的标准“保存文件”对话框相同。
该组件继承自CommonDialog类。
使用该控件作为一个简单的解决方案,使用户能够保存文件,而不用配置您自己的对话框。
利用标准的Windows对话框,创建基本功能可立即为用户所熟悉的应用程序。
但是应注意,使用SaveFileDialog组件时,必须编写您自己的文件保存逻辑。
可使用ShowDialog方法在运行时显示该对话框。
使用OpenFile方法可以读写方式打开文件。
将SaveFileDialog组件添加到窗体后,它出现在Windows窗体设计器底部的栏中。
9.2实验答案
报告书
名称
实验9-1实现计算器的功能
姓名
指导教师
学号
日期
任务清单
在本练习中,你将使绘制的计算器完成简单的四则运算。
1)启动VisualStudio2005。
2)新建一个C#Windows应用程序,在名称处输入“Calculator”,在位置处选择程序存放地址,点击确定。
3)拖拽相应的TextBox控件和Button控件到窗体设计器中,绘制出一个计算器的界面
4)转到代码设计器,在Button的Click事件中添加如下代码,以实现简单的四则运算功能
5)运行程序:
[调试]—>[启动调试],进入界面
6)点击按钮来测试你的计算器
7)关闭程序
8)程序的运行截图如下所示:
9)参考代码:
PublicClassCalculator
{
doublea,b;
stringstrCalKind;
privatevoidbutton1_Click(objectsender,EventArgse)
{
TextBox1.Text+=Button1.Text;
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
TextBox1.Text+=Button2.Text;
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
TextBox1.Text+=Button3.Text;
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
TextBox1.Text+=Button4.Text;
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
TextBox1.Text+=Button5.Text;
}
privatevoidbutton6_Click(objectsender,EventArgse)
{
TextBox1.Text+=Button6.Text;
}
privatevoidbutton7_Click(objectsender,EventArgse)
{
TextBox1.Text+=Button7.Text;
}
privatevoidbutton8_Click(objectsender,EventArgse)
{
TextBox1.Text+=Button8.Text;
}
privatevoidbutton9_Click(objectsender,EventArgse)
{
TextBox1.Text+=Button9.Text;
}
privatevoidbutton10_Click(objectsender,EventArgse)
{
If(TextBox1.Text!
="0")
TextBox1.Text+=Button10.Text;
}
privatevoidbutton17_Click(objectsender,EventArgse)
{
If(!
TextBox1.Text.Contains("."))
TextBox1.Text+=Button17.Text;
}
privatevoidbutton12_Click(objectsender,EventArgse)
{
a=Convert.ToDouble(TextBox1.Text);
TextBox1.Text="";
strCalKind="+";
}
privatevoidbutton13_Click(objectsender,EventArgse)
{
a=Convert.ToDouble(TextBox1.Text);
TextBox1.Text="";
strCalKind="-";
}
privatevoidbutton14_Click(objectsender,EventArgse)
{
a=Convert.ToDouble(TextBox1.Text);
TextBox1.Text="";
strCalKind="*";
}
privatevoidbutton15_Click(objectsender,EventArgse)
{
a=Convert.ToDouble(TextBox1.Text);
TextBox1.Text="";
strCalKind="/";
}
privatevoidbutton16_Click(objectsender,EventArgse)
{
b=Convert.ToDouble(TextBox1.Text);
Try
{
switch(strCalKind)
{
case("+"):
TextBox1.Text=(a+b).ToString();
break;
case("-"):
TextBox1.Text=(a-b).ToString();
break;
case("*"):
TextBox1.Text=(a*b).ToString();
break;
case("/"):
TextBox1.Text=(a/b).ToString();
break;
default:
break;
}
}
Catch(Exceptionex)
{
MessageBox.Show(ex.ToString());
}
strCalKind="";
}
privatevoidbutton15_Click(objectsender,EventArgse)
{
intlength=TextBox1.Text.Length;
TextBox1.Text=TextBox1.Text.Remove(length-1,1);
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch09Answer习题答案 第九章 基于windows的应用程序 ch09Answer 习题 答案 第九 基于 windows 应用程序
![提示](https://static.bdocx.com/images/bang_tan.gif)