基于c#的windows应用程序设计 课后答案.docx
- 文档编号:10349951
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:59
- 大小:36.80KB
基于c#的windows应用程序设计 课后答案.docx
《基于c#的windows应用程序设计 课后答案.docx》由会员分享,可在线阅读,更多相关《基于c#的windows应用程序设计 课后答案.docx(59页珍藏版)》请在冰豆网上搜索。
基于c#的windows应用程序设计课后答案
第1章Windows窗体介绍
习题解答
1.假定你已经设计好窗体Form1,如何显示一个这样的窗体?
a)Form1.Show();
b)Form1.Load();
c)Form1frm;
frm=newForm1();
frm.Show();
d)Form1frm;
frm=newForm1();
frm.Load();
答:
C
2.以下那种给窗体添加Load事件是正确的?
a)添加以下方法
privatevoidForm1_Load(objectsender,System.EventArgse)
{
}
b)添加以下方法
privatevoidForm1_Load(objectsender,System.EventArgse)
{
}
并在InitializeComponent中添加以下语句
this.Load+=newSystem.EventHandler(this.Form1_Load);
c)添加以下方法
privatevoidForm1_Load(objectsender,System.EventArgse)handlesthis.Load
{
}
d)添加以下方法
privatevoidForm1_Load(objectsender,System.EventArgse)handlesthis.Load
{
}
并在InitializeComponent中添加以下语句
this.Load+=newSystem.EventHandler(this.Form1_Load);
答:
B
3.如何将控件停靠到窗体的右边?
a)button1.Dock=DockStyle.Right;
b)button1.Dock=Right;
c)button1.Anchor=AnchorStyles.Right;
d)button1.Anchor=Right;
答:
A
4.在MDI主窗体中,如何新建一个MDI子窗体?
a)
Form1NewMdiChild=newForm1();
NewMdiChild.MdiParent=this;
b)
Form1NewMdiChild=newForm1();
this.MdiChild=NewMdiChild;
c)
Form1.MdiParent=this;
d)
this.MdiChild=Form1;
答:
A
5.如何把活动的MDI子窗体的标题设为"活动子窗体"?
a)this.MdiChild.Caption="活动子窗体";
b)this.MdiChild.Text="活动子窗体";
c)this.ActiveMdiChild.Caption="活动子窗体";
d)this.ActiveMdiChild.Text="活动子窗体";
答:
D
6.列出一些选择Windows窗体而不是Web窗体的原因。
答:
更丰富的用户界面
更快的响应时间
对脱机环境有更好的支持
7.什么是可视化继承?
答:
从现有的窗体继承窗体的过程叫做可视化继承。
这就是说如果已经为一个不同于现在项目的项目设计了一个窗体,而这个窗体与现在的项目所需要的窗体类似,就可以继承这个窗体。
也可以创建一个基窗体作为模板供以后使用。
这是复制特定窗体主要功能的一种有用方法,这样的话就不必重新创建窗体。
8.将控件锚定到窗体与将控件停靠到窗体之间的区别是什么?
答:
当一个控件被锚定到某个窗体(或其它容器)时,如果该窗体的大小被调整,该控件维持它与定位点位置(初始位置)之间的距离不变。
而在停靠时,控件就会被停靠到容器的两个边缘。
当容器的大小变化时,控件就会在水平或垂直方向调整大小。
9.SDI应用程序与MDI应用程序之间的区别是什么?
答:
在SDI应用程序中,某一时刻仅能打开一个文档。
在打开一个文档之前必须先关闭另一个文档。
而在MDI应用程序中,可以同时打开多个文档。
每一个文档在其自己的窗口中显示。
10.当创建窗体时,必须从什么类继承才能生成一个Windows窗体?
答:
System.Windows.Forms.Form
11.当关闭窗体时,要执行一些数字的合计,应该向哪个事件处理程序添加代码?
答:
代码应该被添加到Deactivated事件处理程序中。
12.当继承基窗体来创建新的窗体的时候,要重写在基窗体上的一个控件的方法,在基窗体中应该先做哪些准备工作?
答:
基窗体上控件的Modifier属性必须被设置为Protected或者Public,以便在派生的窗体中重写其功能。
第2章使用窗体控件
课堂练习:
为控件创建事件处理程序
5)传递给这个事件处理程序的第二个参数(e)的目的是什么?
答:
参数e包含事件数据。
它是一个EventArgs对象(实际不包含事件数据的基类),或者是一个派生类(像MouseEventArgs)的实例。
要查看派生类的完整列表,请在VisualStudio.NET帮助文档中使用短语“EventArgs类”进行查找,然后点击链接转到“派生类”。
●为Click事件创建一个事件处理程序。
3)上面的双击动作为什么创建了一个Click事件处理程序?
答:
当在设计视图中双击一个控件时,IDE会自动为默认事件创建一个事件处理程序。
课堂练习:
创建和使用ToolBar控件
8)为什么不能向ToolBar按钮添加图像呢?
答:
ToolBar控件将ImageList控件作为图像源。
使用ToolBar控件的ImageList属性指定Toolbar将从哪个ImageList控件获取图像。
13)运行应用程序。
单击工具栏按钮时有事情发生吗?
必须处理什么事件以响应单击ToolBar按钮?
答:
ToolBar的ButtonClick事件用来处理ToolBar按钮的单击。
ToolBarButtonClickEventArgs用来确定单击了哪个按钮。
课堂练习:
在运行时添加和移除控件
●添加新控件
6)为什么decimalCheckBox出现在GroupBox1控件的左上角?
答:
控件位置属性的默认坐标X和Y的值均为零。
课堂练习:
在运行时更新菜单
●使用另一个MainMenu
9)什么时候能在一个应用程序中使用多个MainMenu控件?
答:
在应用程序的上下文改变或者应用程序有多种状态时,使用(显示)多个MainMenu对象会很有帮助。
●将一个ContextMenu分配给一个控件。
5)如何找出哪个控件与ContextMenu有关联?
答:
ContextMenu.SourceControl属性获取显示快捷方式菜单的控件。
●找出与ContextMenu关联的控件
6)在运行时用MenuItem对象的什么方法添加菜单项?
答:
Add方法。
●在运行时添加菜单项。
6)在“File”菜单中有向用户显示以前打开的文件的方法吗?
答:
可以使用菜单项的Checked属性来指出什么时候选中菜单项。
通过每次单击该属性在属性值on和off之间切换,并且在应用程序中添加适当的代码,这样就可以使菜单项执行起来像一个单选按钮。
习题解答
6.在窗体Form1中有按钮Button1,以下那个Click事件处理程序可以关闭该窗体?
a)Form1.Close();
b)this.Close();
c)Button1.Close();
d)me.Close();
答:
B
7.在状态栏statusBar1上创建一个带面板并显示"Panel1",可以用程序:
a)
panel1.Text="Panel1";
statusBar1.AddPanel(panel1);
b)
StatusBarPanelpanel1=newStatusBarPanel();
panel1.Text="Panel1";
statusBar1.AddPanel(panel1);
c)
panel1.Text="Panel1";
statusBar1.Panels.Add(panel1);
d)
StatusBarPanelpanel1=newStatusBarPanel();
panel1.Text="Panel1";
statusBar1.Panels.Add(panel1);
答:
D
8.在窗体中,如何在运行时添加一个按钮?
a)
ButtonButton1;
Button1=newButton();
Button1.Text="Newbutton";
this.Controls.Add(Button1);
b)
ButtonButton1;
Button1=newButton("Newbutton");
this.Controls.Add(Button1);
c)
ButtonButton1;
Button1=newButton();
Button1.Text="Newbutton";
this.AddButton(Button1);
d)
ButtonButton1;
Button1=newButton("Newbutton");
this.AddButton(Button1);
答:
A
9.以下那段代码可以给button1创建一个上下文菜单
a)
Menum=newMenu();
m.MenuItems.Add("menu1");
this.button1.ContextMenu=m;
b)
ContextMenum=newContextMenu();
m.MenuItems.Add(newContextMenu("menu1"));
this.button1.ContextMenu=m;
c)
ContextMenum=newContextMenu();
m.MenuItems.Add("menu1");
this.button1.ContextMenu=m;
d)
Menum=newMenu();
m.MenuItems.Add(newContextMenu("menu1"));
this.button1.ContextMenu=m;
答:
C
10.窗体有TextBox控件textBox1及ErrorProvider控件errorProvider1。
以下那段代码可以在textBox1中不是整数时显示一个错误消息?
a)
try
{
intx=Int32.Parse(textBox1.Text);
errorProvider1.SetError(textBox1,"");
}
catch
{
errorProvider1.SetError(textBox1,"需要整数");
}
b)
try
{
intx=Int32.Parse(textBox1.Text);
errorProvider1.ClearError();
}
catch
{
errorProvider1.SetError(textBox1,"需要整数");
}
c)
try
{
intx=Int32.Parse(textBox1.Text);
errorProvider1.SetError(textBox1,"");
}
catch
{
errorProvider1.GetError(textBox1,"需要整数");
}
d)
try
{
intx=Int32.Parse(textBox1.Text);
errorProvider1.ClearError();
}
catch
{
errorProvider1.GetError(textBox1,"需要整数");
}
答:
A
11.在.NETFramework中事件是如何被引发的以及如何被处理的?
答:
事件是由事件发送者(eventsender)响应用户的操作或应用程序生成的事件而引发的。
委托(delegate)用来连接事件发送者(eventsender)和处理事件的事件接收者(eventreceiver)。
12.在预定旅馆房间应用程序的用户界面中,想要让用户选择付款方式(信用卡、现金或者支票)。
请问可以使用什么控件在该应用程序中创建这个功能?
答:
有多种方法可以给用户提供若干选项并只允许用户做出单一选择。
因为在本例中只有三个选项,最简单的一种解决方法是在窗体上提供三个RadioButton控件。
对于涉及大量选项的情况,列表控件将是较好的选择(例如ListBox控件)。
13.如何为工具栏按钮显示工具提示(tooltips)?
答:
通过打开ToolBarButton集合编辑器,并为ToolBarButton的ToolTipText属性指定一个值,就可以为ToolBar控件上的按钮创建工具提示(tooltips)。
14.当用户关闭一个对话框时,如何确定用户的操作?
答:
父窗体的DialogResult属性用于捕获关闭对话框的操作。
例如,DialogResult可以用于确定OpenFileDialog是通过单击“打开”按钮关闭的,还是通过单击“取消”按钮关闭的。
15.如何使用ErrorProvider控件?
答:
ErrorProvider控件用于将无效数据错误消息与窗体上的控件相关联。
要使用ErrorProvider控件,打开控件的Validating事件处理程序,并使用ErrorProvider控件的SetError方法指定控件和错误消息。
在运行时,一个图标将出现在指定的控件旁边。
16.容器控件的什么属性用于访问ControlCollection?
使用这个属性可以访问ControlCollection类的哪些主要属性和方法?
答:
容器控件的Controls属性用于访问ControlCollection对象。
能够通过Controls属性访问的ControlCollection类的主要属性和方法包括Count、Add和Remove。
第3章生成控件
习题解答
17.以下那段代码可以定义一个控件使得该控件包含一个TextBox和Button
a)
publicclassMyControl:
UserControl
{
publicMyControl()
{
TextBoxtextBox1=newTextBox();
Buttonbutton1=newButton();
button1.Top=textBox1.Height;
this.Controls.Add(textBox1);
this.Controls.Add(button1);
}
}
b)
publicclassMyControl:
UserControl
{
TextBoxtextBox1=newTextBox();
Buttonbutton1=newButton();
button1.Top=textBox1.Height;
this.Controls.Add(textBox1);
this.Controls.Add(button1);
}
c)
publicclassMyControl:
TextBox,Button
{
publicMyControl()
{
TextBoxtextBox1=newTextBox();
Buttonbutton1=newButton();
button1.Top=textBox1.Height;
this.Controls.Add(textBox1);
this.Controls.Add(button1);
}
}
b)
publicclassMyControl:
TextBox,Button
{
TextBoxtextBox1=newTextBox();
Buttonbutton1=newButton();
button1.Top=textBox1.Height;
this.Controls.Add(textBox1);
this.Controls.Add(button1);
}
答:
A
18.在下面的代码片段中,属性窗口能将MyBackColor属性显示在外观类别中。
a)
publicclassUserControl1:
System.Windows.Forms.UserControl
{
[Appearance]publicColorMyBackColor
{
get
{
returnthis.BackColor;
}
set
{
this.BackColor=value;
}
}
}
b)
publicclassUserControl1:
System.Windows.Forms.UserControl
{
[Appearance]publicColorMyBackColor;
}
c)
publicclassUserControl1:
System.Windows.Forms.UserControl
{
[Category("Appearance")]publicColorMyBackColor
{
get
{
returnthis.BackColor;
}
set
{
this.BackColor=value;
}
}
}
d)
publicclassUserControl1:
System.Windows.Forms.UserControl
{
[Category("Appearance")]publicColorMyBackColor;
}
答:
C
19.在MicrosoftInternetExplorer中,如何使用Windows窗体控件?
假定ControlLibrary1.dll文件位于和HTML页同样的虚拟目录中并且包含控件ControlLibrary1.myControl.
a)
classid="http: ControlLibrary1.dll#ControlLibrary1.myControl VIEWASTEXT> b) winform="http: ControlLibrary1.dll#ControlLibrary1.myControl VIEWASTEXT> c) classid="ControlLibrary1.myControl VIEWASTEXT> d) winform="ControlLibrary1.myControl VIEWASTEXT> 答: A 20.可以用以下的方法定义一个需要License的控件. a) [LicenseProviderAttribute(typeof(LicFileLicenseProvider))] publicclassUserControl1: System.Windows.Forms.UserControl { publicUserControl1() { } //othermethods. } b) [LicenseProviderAttribute(LicFileLicenseProvider)] publicclassUserControl1: System.Windows.Forms.UserControl { privateLicenselicense=null; publicUserControl1() { license=LicenseManager.Validate(typeof(UserControl1),this); } //othermethods. } c) [LicenseProviderAttribute(typeof(LicFileLicenseProvider))] publicclassUserControl1: System.Windows.Forms.UserControl { publicUserControl1() { } //othermethods. } d) [LicenseProviderAttribute(typeof(LicFileLicenseProvider))] publicclassUserControl1: System.Windows.Forms.UserControl { privateLicenselicense=null; publicUserControl1() { license=LicenseManager.Validate(typeof(UserControl1),this); } //othermethods. } 答: D 21.定制了一个TextBox后要控制只有满足特定条件的字符串可以出现该TextBox中. a) publicclassMyTextBox: System.Windows.Forms.TextBox { publicoverridestringText { get { returnbase.Text; } set { if(IsValid(value)) { base.Text=value; return; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于c#的windows应用程序设计 课后答案 基于 c# windows 应用 程序设计 课后 答案