基于c#的windows应用程序设计 课后答案.docx

上传人:b****8 文档编号:10349951 上传时间:2023-02-10 格式:DOCX 页数:59 大小:36.80KB
下载 相关 举报
基于c#的windows应用程序设计 课后答案.docx_第1页
第1页 / 共59页
基于c#的windows应用程序设计 课后答案.docx_第2页
第2页 / 共59页
基于c#的windows应用程序设计 课后答案.docx_第3页
第3页 / 共59页
基于c#的windows应用程序设计 课后答案.docx_第4页
第4页 / 共59页
基于c#的windows应用程序设计 课后答案.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

基于c#的windows应用程序设计 课后答案.docx

《基于c#的windows应用程序设计 课后答案.docx》由会员分享,可在线阅读,更多相关《基于c#的windows应用程序设计 课后答案.docx(59页珍藏版)》请在冰豆网上搜索。

基于c#的windows应用程序设计 课后答案.docx

基于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;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1