1、基于c#windows的应用程序设计 课后答案第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();答:C2. 以下那种给窗体添加Load事件是正确的?a) 添加以下方法 private void Form1_Load(object sender, System.EventArgs e) b) 添加以下方法 priva
2、te 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 t
3、his.Load 并在InitializeComponent中添加以下语句this.Load += new System.EventHandler(this.Form1_Load);答:B3. 如何将控件停靠到窗体的右边?a) button1.Dock=DockStyle.Right;b) button1.Dock=Right;c) button1.Anchor=AnchorStyles.Right;d) button1.Anchor=Right;答:A4. 在MDI主窗体中,如何新建一个MDI子窗体?a) Form1 NewMdiChild = new Form1(); NewMdiChil
4、d.MdiParent = this;b) Form1 NewMdiChild = new Form1(); this.MdiChild=NewMdiChild;c) Form1.MdiParent = this;d)this.MdiChild= Form1;答:A5. 如何把活动的MDI 子窗体的标题设为活动子窗体?a) this.MdiChild.Caption=活动子窗体;b) this.MdiChild.Text=活动子窗体;c) this.ActiveMdiChild.Caption =活动子窗体;d) this.ActiveMdiChild.Text=活动子窗体;答:D6. 列出一
5、些选择Windows窗体而不是Web窗体的原因。答:更丰富的用户界面 更快的响应时间 对脱机环境有更好的支持7. 什么是可视化继承?答:从现有的窗体继承窗体的过程叫做可视化继承。这就是说如果已经为一个不同于现在项目的项目设计了一个窗体,而这个窗体与现在的项目所需要的窗体类似,就可以继承这个窗体。也可以创建一个基窗体作为模板供以后使用。这是复制特定窗体主要功能的一种有用方法,这样的话就不必重新创建窗体。8. 将控件锚定到窗体与将控件停靠到窗体之间的区别是什么?答:当一个控件被锚定到某个窗体(或其它容器)时,如果该窗体的大小被调整,该控件维持它与定位点位置(初始位置)之间的距离不变。而在停靠时,控
6、件就会被停靠到容器的两个边缘。当容器的大小变化时,控件就会在水平或垂直方向调整大小。9. SDI 应用程序与 MDI应用程序之间的区别是什么?答:在SDI应用程序中,某一时刻仅能打开一个文档。在打开一个文档之前必须先关闭另一个文档。而在MDI应用程序中,可以同时打开多个文档。每一个文档在其自己的窗口中显示。10. 当创建窗体时,必须从什么类继承才能生成一个Windows窗体?答:System.Windows.Forms.Form11. 当关闭窗体时,要执行一些数字的合计,应该向哪个事件处理程序添加代码?答:代码应该被添加到Deactivated 事件处理程序中。12. 当继承基窗体来创建新的窗
7、体的时候,要重写在基窗体上的一个控件的方法,在基窗体中应该先做哪些准备工作?答:基窗体上控件的 Modifier 属性必须被设置为Protected 或者Public,以便在派生的窗体中重写其功能。第2章 使用窗体控件课堂练习:为控件创建事件处理程序5)传递给这个事件处理程序的第二个参数(e)的目的是什么?答:参数e包含事件数据。它是一个EventArgs 对象(实际不包含事件数据的基类),或者是一个派生类(像MouseEventArgs)的实例。要查看派生类的完整列表,请在Visual Studio .NET帮助文档中使用短语“EventArgs 类”进行查找,然后点击链接转到“派生类”。
8、为Click 事件创建一个事件处理程序。3) 上面的双击动作为什么创建了一个Click 事件处理程序?答:当在设计视图中双击一个控件时,IDE会自动为默认事件创建一个事件处理程序。课堂练习:创建和使用ToolBar控件8)为什么不能向ToolBar 按钮添加图像呢?答:ToolBar 控件将ImageList 控件作为图像源。使用ToolBar 控件的ImageList 属性指定Toolbar 将从哪个ImageList 控件获取图像。13)运行应用程序。单击工具栏按钮时有事情发生吗? 必须处理什么事件以响应单击ToolBar按钮?答:ToolBar 的 ButtonClick事件用来处理To
9、olBar按钮的单击。ToolBarButtonClickEventArgs 用来确定单击了哪个按钮。课堂练习:在运行时添加和移除控件 添加新控件6) 为什么decimalCheckBox 出现在GroupBox1控件的左上角?答:控件位置属性的默认坐标X和Y的值均为零。课堂练习:在运行时更新菜单 使用另一个MainMenu9) 什么时候能在一个应用程序中使用多个 MainMenu 控件?答:在应用程序的上下文改变或者应用程序有多种状态时,使用(显示)多个 MainMenu 对象会很有帮助。 将一个ContextMenu 分配给一个控件。5) 如何找出哪个控件与 ContextMenu 有关联
10、?答:ContextMenu.SourceControl 属性获取显示快捷方式菜单的控件。 找出与ContextMenu关联的控件6) 在运行时用MenuItem 对象的什么方法添加菜单项?答:Add 方法。 在运行时添加菜单项。6)在“File”菜单中有向用户显示以前打开的文件的方法吗?答:可以使用菜单项的 Checked 属性来指出什么时候选中菜单项。通过每次单击该属性在属性值on和off之间切换,并且在应用程序中添加适当的代码,这样就可以使菜单项执行起来像一个单选按钮。习题解答6. 在窗体Form1中有按钮Button1, 以下那个Click 事件处理程序可以关闭该窗体?a) Form1
11、.Close();b) this.Close();c) Button1.Close();d) me.Close();答:B7. 在状态栏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.Panel
12、s.Add(panel1);d) StatusBarPanel panel1 = new StatusBarPanel(); panel1.Text = Panel 1; statusBar1.Panels.Add(panel1);答:D8. 在窗体中,如何在运行时添加一个按钮?a) Button Button1; Button1=new Button(); Button1.Text=New button; this.Controls.Add(Button1);b) Button Button1; Button1=new Button(New button); this.Controls.Ad
13、d(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);答:A9. 以下那段代码可以给button1创建一个上下文菜单a) Menu m=new Menu(); m.MenuItems.Add(menu1); this.button1.ContextMenu=m;b) ContextMenu m=new
14、 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); this.button1.ContextMenu=m;答:C10. 窗体有TextBox控件 textBox1及ErrorProvide
15、r控件errorProvider1。以下那段代码可以在textBox1中不是整数时显示一个错误消息?a) try int x = Int32.Parse(textBox1.Text); errorProvider1.SetError(textBox1, ); catch errorProvider1.SetError(textBox1,需要整数); b) try int x = Int32.Parse(textBox1.Text); errorProvider1.ClearError(); catch errorProvider1.SetError(textBox1,需要整数); c) try
16、 int x = Int32.Parse(textBox1.Text); errorProvider1.SetError(textBox1, ); catch errorProvider1.GetError(textBox1,需要整数); d) try int x = Int32.Parse(textBox1.Text); errorProvider1.ClearError(); catch errorProvider1.GetError(textBox1,需要整数); 答:A11. 在.NET Framework中事件是如何被引发的以及如何被处理的?答:事件是由事件发送者(event sen
17、der)响应用户的操作或应用程序生成的事件而引发的。委托(delegate)用来连接事件发送者(event sender)和处理事件的事件接收者(event receiver)。12. 在预定旅馆房间应用程序的用户界面中,想要让用户选择付款方式(信用卡、现金或者支票)。请问可以使用什么控件在该应用程序中创建这个功能?答:有多种方法可以给用户提供若干选项并只允许用户做出单一选择。因为在本例中只有三个选项,最简单的一种解决方法是在窗体上提供三个RadioButton控件。对于涉及大量选项的情况,列表控件将是较好的选择(例如 ListBox控件)。13. 如何为工具栏按钮显示工具提示(tooltip
18、s)?答:通过打开ToolBarButton 集合编辑器,并为ToolBarButton的ToolTipText 属性指定一个值,就可以为ToolBar控件上的按钮创建工具提示(tooltips)。14. 当用户关闭一个对话框时,如何确定用户的操作?答:父窗体的DialogResult 属性用于捕获关闭对话框的操作。例如,DialogResult可以用于确定OpenFileDialog是通过单击“打开”按钮关闭的,还是通过单击“取消”按钮关闭的。15. 如何使用ErrorProvider控件?答:ErrorProvider控件用于将无效数据错误消息与窗体上的控件相关联。要使用ErrorProv
19、ider控件,打开控件的Validating 事件处理程序,并使用ErrorProvider控件的SetError方法指定控件和错误消息。在运行时,一个图标将出现在指定的控件旁边。16. 容器控件的什么属性用于访问ControlCollection?使用这个属性可以访问ControlCollection 类的哪些主要属性和方法?答:容器控件的Controls属性用于访问ControlCollection 对象。能够通过Controls属性访问的ControlCollection 类的主要属性和方法包括Count、Add和Remove。第3章 生成控件习题解答17. 以下那段代码可以定义一个控件
20、使得该控件包含一个TextBox和Button a) public class MyControl: UserControl public MyControl() TextBox textBox1=new TextBox(); Button button1=new Button(); button1.Top=textBox1.Height; this.Controls.Add(textBox1); this.Controls.Add(button1); b)public class MyControl: UserControl TextBox textBox1=new TextBox(); B
21、utton button1=new Button(); button1.Top=textBox1.Height; this.Controls.Add(textBox1); this.Controls.Add(button1); c)public class MyControl: TextBox,Button public MyControl() TextBox textBox1=new TextBox(); Button button1=new Button(); button1.Top=textBox1.Height; this.Controls.Add(textBox1); this.Co
22、ntrols.Add(button1); b)public class MyControl: TextBox,Button TextBox textBox1=new TextBox(); Button button1=new Button(); button1.Top=textBox1.Height; this.Controls.Add(textBox1); this.Controls.Add(button1);答:A18. 在下面的代码片段中,属性窗口能将MyBackColor属性显示在外观类别中。a) public class UserControl1 : System.Windows.F
23、orms.UserControl Appearancepublic Color MyBackColor get return this.BackColor; set this.BackColor=value; b) public class UserControl1 : System.Windows.Forms.UserControl Appearancepublic Color MyBackColor; c) public class UserControl1 : System.Windows.Forms.UserControl Category(Appearance)public Colo
24、r MyBackColor get return this.BackColor; set this.BackColor=value; d) public class UserControl1 : System.Windows.Forms.UserControl Category(Appearance)public Color MyBackColor; 答:C19. 在Microsoft Internet Explorer中,如何使用Windows窗体控件? 假定ControlLibrary1.dll文件位于和HTML页同样的虚拟目录中并且包含控件ControlLibrary1.myContro
25、l.a)b)c)d)答:A20. 可以用以下的方法定义一个需要License的控件. a) LicenseProviderAttribute(typeof(LicFileLicenseProvider) public class UserControl1 : System.Windows.Forms.UserControl public UserControl1() /other methods. b) LicenseProviderAttribute(LicFileLicenseProvider) public class UserControl1 : System.Windows.Form
26、s.UserControl private License license = null; public UserControl1() license = LicenseManager.Validate(typeof(UserControl1), this); /other methods. c) LicenseProviderAttribute(typeof(LicFileLicenseProvider) public class UserControl1 : System.Windows.Forms.UserControl public UserControl1() /other meth
27、ods. d) LicenseProviderAttribute(typeof(LicFileLicenseProvider) public class UserControl1 : System.Windows.Forms.UserControl private License license = null; public UserControl1() license = LicenseManager.Validate(typeof(UserControl1), this); /other methods. 答:D21. 定制了一个TextBox后要控制只有满足特定条件的字符串可以出现该TextBox中.a)public class MyTextBox : System.Windows.Forms.TextBox public override string Text get return base.Text; set if(IsValid(value) base.Text = value; return;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1