第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小时内删除。