第1章 Windows 窗体介绍
习题解答
1. 假定你已经设计好窗体Form1,如何显示一个这样的窗体?
a) Form1.Show();
b) Form1.Load();
c) Form1 frm;
frm=new Form1();
frm.Show();
d) Form1 frm;
frm=new Form1();
frm.Load();
答:C
2. 以下那种给窗体添加Load事件是正确的?
a) 添加以下方法
private void Form1_Load(object sender, System.EventArgs e)
{
}
b) 添加以下方法
private void Form1_Load(object sender, System.EventArgs e)
{
}
并在InitializeComponent中添加以下语句
this.Load += new System.EventHandler(this.Form1_Load);
c) 添加以下方法
private void Form1_Load(object sender, System.EventArgs e) handles this.Load
{
}
d) 添加以下方法
private void Form1_Load(object sender, System.EventArgs e) handles this.Load
{
}
并在InitializeComponent中添加以下语句
this.Load += new System.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)
Form1 NewMdiChild = new Form1();
NewMdiChild.MdiParent = this;
b)
Form1 NewMdiChild = new Form1();
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)的实例。要查看派生类的完整列表,请在Visual Studio .NET帮助文档中使用短语“EventArgs 类”进行查,然后点击链接转到“派生类”。
● 为Click 事件创建一个事件处理程序。
3) 上面的双击动作为什么创建了一个Click 事件处理程序?
答:当在设计视图中双击一个控件时,IDE会自动为默认事件创建一个事件处理程序。
课堂练习:创建和使用ToolBar控件
8)为什么不能向ToolBar 按钮添加图像呢?
答:ToolBar 控件将ImageList 控件作为图像源。使用ToolBar 控件的ImageList 属性指定Toolbar 将从哪个ImageList 控件获取图像。
13)运行应用程序。单击工具栏按钮时有事情发生吗? 必须处理什么事件以响应单击ToolBar按钮?
答:ToolBar 的 ButtonClick事件用来处理ToolBar按钮的单击。ToolBarButtonClickEventArgs 用来确定单击了哪个按钮。
课堂练习:在运行时添加和移除控件
● windows程序设计第7版添加新控件
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上创建一个带面板并显示"Panel 1",可以用程序:
a)
panel1.Text = "Panel 1";
statusBar1. AddPanel(panel1);
b)
StatusBarPanel panel1 = new StatusBarPanel();
panel1.Text = "Panel 1";
statusBar1.AddPanel(panel1);
c)
panel1.Text = "Panel 1";
statusBar1.Panels.Add(panel1);
d)
StatusBarPanel panel1 = new StatusBarPanel();
panel1.Text = "Panel 1";
statusBar1.Panels.Add(panel1);
答:D
8. 在窗体中,如何在运行时添加一个按钮?
a)
Button Button1;
Button1=new Button();
Button1.Text="New button";
this.Controls.Add(Button1);
b)
Button Button1;
Button1=new Button("New button");
this.Controls.Add(Button1);
c)
Button Button1;
Button1=new Button();
Button1.Text="New button";
this.AddButton(Button1);
d)
Button Button1;
Button1=new Button("New button");
this.AddButton(Button1);
答:A
9. 以下那段代码可以给button1创建一个上下文菜单
a)
Menu m=new Menu();
m.MenuItems.Add("menu1");
this.button1.ContextMenu=m;
b)
ContextMenu m=new ContextMenu();
m.MenuItems.Add(new ContextMenu("menu1"));
this.button1.ContextMenu=m;
c)
ContextMenu m=new ContextMenu();
m.MenuItems.Add("menu1");
this.button1.ContextMenu=m;
d)
Menu m=new Menu();
m.MenuItems.Add(new ContextMenu("menu1"));
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论