windows应用开发期末复习资料.docx
一、选择题:1、在 Visual Studio.NET窗口中,在_窗口中可以视察当前工程的类和类型的层次信息。2、以下哪个类型的对象是 ADO.NET 在非连接形式下处理数据内容的主要对象 3、应用 ADO.NET 访问数据时,Connection 对象的连接字符串中 Initial Catalog 子串的含义是: A.Connection 对象连接到的数据库的名称B.Connection 对象的身份验证信息C.Connection 对象的最大连接时间D.Connection 对象运用的缓存大小4、在 Visual Studio .NET 中, 新建 DataAdapter 对象后, 可运用_ _来配置其属性5、运用 Visual Studio .NET 的“新建 C# 工程创立一个名为“SimpleForm的 Windows 表单应用程序,那么在生成_文件中可设置该程序集的 CopyrightTrademark 等属性信息。6、在某 Windows Form 应用程序中,主窗口类为 Form1,程序入口为静态方法 From1.Main。如下所示: /其他代码 static void Main() /在此添加相宜代码 那么在 Main 方法中翻开主窗口的正确代码是: AA.Application.Run(new Form1();B.Application.Open(new Form1();C.(new Form1().Open();D.(new Form1().Run();7、在 C#中,预处理器指令#region 和#endregion 的作用是: BA.注释#region 和#endregion 之间的代码B.为 Code Editor 定义一段可折叠代码区C.#region 和#endregion 之间的代码在 Debug 版本中不参与编译D.#region 和#endregion 之间的代码在 Release 版本中不参与编译8、用鼠标右击一个控件时出现的菜单一般称为: C9、变量 open 引用一个 Open 对象。为检查用户在退出对话框时是否单击了“翻开按钮,应检查 open()的返回值是否等于_; 10、C#程序中,为使变量 myForm 引用的窗体对象显示为对话框,必需: A.运用 myForm.ShowDailog 方法显示对话框B.将 myForm 对象的 isDialog 属性设为 trueC.将 myForm 对象的 FormBorderStyle 枚举属性设置为 FixedDialogD.将变量 myForm 改为引用 System.Windows.Dialog 类的对象11、Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常状况下,该按钮是扁平的,当鼠标指针挪动到它上面时,按钮上升。那么,在程序中,属性 Button1.FlatStyle 的值应设定为: A. FlatB. PopupC. StandardD. System12、ADO.NET 运用_命名空间的类访问 SQL Server 数据库中的数据。 13、用 翻开一个文件时,可用 参数限制: A.对文件执行覆盖创立翻开等选项中的哪些操作;B.对文件进展只读只写还是读/写C.其他 对同一个文件所具有的访问类型14、在运用 ADO.NET 编写连接到 SQL Server 2021 数据库的应用程序时,从进步性能角度考虑,应创立_类的对象,并调用其 Open 方法连接到数据库。 15、在 ADO.NET 中,DataAdapter 对象以下哪个 Command 属性用于将 DataSet 中的新增记录保存到数据源A.Select CommandB.Insert CommandC.Update CommandD.Delete Command16、要退出应用程序的执行,应执行以下的_语句。A.Aapplication.Exit();B.Aapplication.Exit;C.Aapplication.Close();D.Aapplication.Close;17、要使窗体刚运行时,显示在屏幕的中央,应设置窗体的_属性。18、要使文本框控件可以显示多行而且可以自动换行,应设置它的_属性。 MultlineB.Multlineh和 WordWrapC.PassWordChar 和 MultlineD.MaxLength和 WordWrap19、在运用 RichTextBox 控件进展文档编辑时,假设渴望知道文档上次设置该控件的内容后,文本框中内容是否变更,可运用它的_属性。20、要使复选框控件可以显示出三种状态,应首先设置它的_属性。21、 Open 控件的 Filter 属性值为“文本文件(*.txt)|*.txt|图形文件 (*.BMP*.JPG)|*.BMP;*.JPG|*.RTF 文件(*.RTF)|*.RTF ,假设渴望程序运行时,翻开对话框的文件过滤器中显示的文件类型为 RTF 文件(*.RTF),应把它的 FilterIndex 属性值设置为 _。22、在设计菜单时,假设渴望某个菜单项前面有一个“号,应把该菜单项的_ 属性设置为 true。23、在 GDI+的全部类中,_类是核心,在绘制任何图形之前,确定要先用它创立一个对象。24、以下各选项中,哪个选项不是.NET Framework的组成部分( )。B.公共语言标准和.NET Framework类库25、下面对公共语言运行时说法正确的选项是( )。 B.供应多种效劳,但不包括垃圾搜集器C.是.NET Framework的核心组件D.及.NET Framework无关26、以下关于命名空间描绘正确的选项是( )。A.命名空间就是.NET Framework中相关类和命名空间的集合B.System.Windows.Forms 命名空间定义了包含工具箱中的控件及窗体自身的类27、下面对程序集和命名空间说法正确的选项是( )。B.一个程序集可以引用多个命名空间,一个命名空间也可以保存在多个程序集中C.一个程序集可以引用多个命名空间,但一个命名空间只能保存在一个程序集中D.一个命名空间可以保存在多个程序集中,命名空间无法包含另外的命名空间28、动态创立一个 button控件实例的代码是() A.Button button; button=new Button(); button.Location=new Point(200,200); button.Size=new Size(75,23); button.Text=“Ok; button.Show();B.Button button; button=new Button(); button.Location=new Point(); button.Size=new Size(); button.Text=“Ok; this.Controls.Add(button);C.Button button; button=new Button(); button.Location=new Point(); button.Size=new Size(); button.Text=“Ok; button.Show();D.Button button; button=new Button(); button.Location=new Point(200,200); button.Size=new Size(75,23); button.Text=“Ok; this.Controls.Add(button);29、关于 Timer 控件,以下说法正确的选项是( ) A.Timer 控件是用来显示系统当前时间B.Timer 控件的作用是在规定的时间内触发 Tick控件C.Timer 控件的 Interval 属性值的单位是秒D.Timer 控件实例不能动态创立30、关于滚动控件,以下说法正确的选项是() A.Value属性表示滚动块在滚动条中的位置,它的值可以为整数也可以为小数C.SmallChange属性表示当用户在滚动区域中单击或运用 Page Up/Page Down时,缩影图 位置发生的变更D.不能自动滚动窗体的内容,须要添加代码才可以31、关于 MainMenu控件,以下说法正确的选项是()32、TabControl 控件的 属性可以添加和删除选项卡。33、MDI应用程序中只有窗体之间的关系描绘正确的选项是() A.MDI应用程序中只有一个窗体可以指定为 MDI子窗体B.MDI子窗体必需出如今 MDI父窗体的可视区域内C.标准窗体必需出如今 MDI父窗体的可视区域内34、对设置 MDI父窗体说法正确的选项是() A.调用指定为 MDI父窗体的 Show 方法,运用参数的枚举值 Modi-MdiParent“工程属性对话框,设置 IsMdiApplication 属性为 True,然后设置用作父窗体的 窗体的窗体启动对象C.对于指定为 MDI父窗体的窗体,设置 MdiParent 属性为 TrueD.创立一个 MDI应用程序工程,而不是创立 Windows 窗体应用程序工程35、以下说法中对 Mdi 子窗体描绘正确的选项是() A.设置 MdiChildForm属性为 trueB.设置 MdiChild属性为 falseC.设置 MdiChild属性为 trueD.设置 MDI子窗体 MDiParent 属性引用父窗体实例36、下面选项中对菜单合并描绘正确的选项是() A.MerageType和 MerageOrder 属性用来配置菜单合并的方式B.当 MDI父窗体的菜单合并时,不行以删除父窗体上的菜单C.合并菜单时,无法交换多余的菜单37、下面关于 MDI子窗体的布局正确的选项是() A.Icon,List,ReportB.Icon,Minimize,mdiparentC.ArrangeIcons,Cascade,SelectionD.ArrangeIcons,Casecade,TileHorizontal,TileVeritical38、下面对创立上下文菜单说法正确的选项是() A.把 Mainmenu控件放置到窗体中即可B.创立一个 ContextMenu控件实例,然后编辑菜单项来创立快捷菜单C.在模态对话框中创立一个 ListBox 控件实例,然后显示模态对话框D.创立一个 MainMenu属性为 True39、下面对 MDI应用程序中子窗体布局说法正确的选项是() A.C#中无法对子窗体布局C.布局菜单只能放在父窗体上,并且运用 LayOutMdi 方法D.运用 MdiLayout 方法,布局菜单在哪里无所谓40、下面对 FontDialog控件说法正确的选项是() B.运用 FontDialog必需在窗体中添加控件C.完全可以不添加控件,运用代码来完成它的添加D.显示 FontDialog时,运用 Show()方法二、多项选择题:1、关于C#语言的根本语法,以下哪些说法是正确的A.C#语言运用 using 关键字来引用.NET 预定义的名字空间;B.用 C#编写的程序中,Main 函数是唯一允许的全局函数;C.C#语言中运用的名称严格区分大小写;D.C#中一条语句必需写在一行内;2、在以下函数完毕后,马上从内存中去除的是_. void Test() int i = 100; int arr = new int10; string str = "this is a test" object r = new System.DateTime(1999,9,9);A.变量 iB.数组变量 arrC.变量 str 所引用的字符串对象D.变量 r 所引用的 DataTime 对象3、C#可以承受以下哪些技术来进展对象内部数据的隐藏 D.装箱(boxing)和拆箱(Unboxing)技术4、当创立一个新类时,该类将从 System.Object 基类继承以下哪些方法5、访问数据库时,运用连接形式同运用非连接形式相比有何优点 6、关于程序集,以下正确的说法是: A.程序集可以由一个文件组成,也可由多个文件组成7、以下数组初始化语句哪些是正确的 A.int nums = new int0,1,2,3,4;B.int nums2 =0,1,2,3,4,5;C.int num_1 =new int0,1,new int0,1,2,new int0,1,2,3;D.int num_2 = 0,1,0,1,2,0,1,2,3;8、以下哪些调试操作不是运用 Visual C# 断点的有效方法A.当代码段第五次执行时,在某一特定行停顿执行这部分代码B.当特定的变量值变更时,停顿执行C.当指定的代码行执行的次数是 25 的倍数时,停顿执行这部分代码D.当特定的表达式求值计算停突然,在某一特定行停顿执行这部分代码E.当变量的值变更为 False时,停顿执行9、运用 Visual Studio .NET 来创立一个基于 Windows 的应用程序 TimeSheetApp。此应用程序的 main 窗体包括几个及应用程序的设置相对应的复选框。其中一个 CheckBox 控件名为 overtimeCheckBox,该控件的标题是“Overtime。必需允许用户按 ALT+A 来选择或去除复选框。你该承受哪两个操作A.设置 overtimeCheckBox.AutoCheck为 TrueB.设置 overtimeCheckBox.AutoCheck为 FalseC.设置 overtimeCheckBox.Tag 为“&OvertimeD.设置 overtimeCheckBox.CheckState为 Unchecked E.设置 overtimeCheckBox.CheckState为 Indeterminate F.设置 overtimeCheckBox.Apperance 为 Button G.设置 overtimeCheckBox.Apperance为 Normal H.设置 overtimeCheckBox.Text 为“&Overtime10、运用以下哪种方法可以减小一个 ArrayList 对象的容量 A.调用 Remove 方法B.调用 Clear 方法C.调用 TrimToSize 方法D.设置 Capacity 属性二、填空题:1、能用foreach遍历访问的对象须要实现 _ IEnumerable 接口或声明_ GetEnumerator _方法的类型。三、简洁题:1、ADO.net中常用的对象有哪些?分别描绘一下。答:Connection 数据库连接对象Command 数据库嘱咐DataReader 数据读取器DataSet 数据集2、.net中读写数据库须要用到那些类?他们的作用?答: DataSet:数据存储器。DataCommand:执行语句嘱咐。DataAdapter:数据的集合,用于填充。3、SQL SERVER效劳器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的效劳器时间,请运用一句SQL语句获得最终更新的事务号答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)4、写出一条Sql语句:取出表A中第31到第40记录SQL Server以自动增长的ID作为主键,留意:ID可能不是连续的。答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A) 5、在.netC#中如何取消一个窗体的关闭。答:在form_Closing方法中写入e.Cancel=true。例如:private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)e.Cancel=true; 6、在.netC# 中,Appplication.Exit 和 Form.Close有什么不同?答:是退出整个应用程序;是关闭某一个form窗体。7、请说出连接环境下和非连接环境下访问数据库的区分及优缺点,并各列举一个相宜的状况说明。答:连接环境:1DataReader表示数据库记录,但是 DataReader一次只能表示一条数据库记录;2必需调用Read()方法来从后台数据库的表获得每一条记录到内存,当再次调用Read()方法时,前面获得的记录就丢失了;3DataReader并不能把数据库查询的结果当成一个整体来处理;4DataReader 在工作的时候,必需维持对数据库的连接。 优点: 功能简洁、速度快,可以用在单纯显示的地方。缺点: 只能单向的读取数据库中的数据。非连接环境: 1DataSet 表示一组非连接的记录;2DataSet 可以在效劳器内存中表示数据库查询的结果;3DataSet 供应了内存驻留表示形式,所以可以把数据库查询的结果作为一个整体来处理;4当DataSet被填充了记录后,就可以把它及后台数据源的连接断开。优点: 进步了效劳器的性能;DataSet功能强大,带有查询、修改、排序、添加等功能。缺点: 对内存和时间的消耗都比较大。8、填入下面空白处概念,并简洁说明?答:用户界面 DataView DataSet DataTable DataReader DataAdapter Command Conection 数据库说明:DataView:表示用于排序、选择、搜寻、编辑和导航的 DataTable 的可绑定数据的自定义视图。DataSet:ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依靠于数据库的独立数据集合。DataTable:一个临时保存数据的网格虚拟表(表示内存中数据的一个表。)。DataReader:一个简洁的数据集,用于从数据源中检索只读数据集,常用于检索大量数据。DataReader:可通过Command对象的ExecuteReader方法从数据源中检索数据来创立。Command:运用存储查询和带有参数的存储过程。Connection:对象代表及数据源进展的唯一会话。四、编程题:1、Employee 职工表 字段 数据类型 描绘 EmployeeCodeint 职工编号 Name char (20) 姓名 Address char (35) 地址 int id=(int)textBox1.Text; string name=textBox2.Text; string address=textBox3.Text; SqlCommand command=new SqlCommand(); command.Connection=con; mandText= "insert into Employee values ("+id+",'"+name+"','"+address+"'); int row=command.ExecuteNonQuery(); if(row>0) MessageBox.Show("插入胜利"); else MessageBox.Show("插入失败"); 请将上述代码用中的SQL语句执行部分用嘱咐参数的方式改写。答:command.CommandText= "insert into Employee values (id,name,address)" command.Parameters.Add("id",SqlDbType.Int); command.Parameters.Add("name",SqlDbType.Char,20); command.Parameters.Add("address",SqlDbType.Char,35); command.Prepare(); command.Parameters"id".Value=id; command.Parameters"name".Value=name;command.Parameters"address".Value=address; int row=command.ExecuteNonQuery();2、请编程遍历界面上全部TextBox控件并给它赋值为string.Empty?答:ntrol control in this.Controls)if (control is System.Windows.Forms.TextBox)System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox) control ; tb.Text = String.Empty ;3、 Products 产品表 字段 数据类型 描绘 ProductId int 产品编号 ProductNamechar(20) 产品名称 ProductRate money 产品价格 (1) 利用 SqlConnection,SqlCommand,SqlDataReader 等打印整张表的数据(2) 利用 SqlConnection,SqlAdapter,DataSet,DataTable,DataView 等打印价格在 10 元以下的产品信息.(要求通过DataView过滤的方式查出信息)答:1)using System; using System.Data.SqlClient; class Class1 static void Main(string args) SqlConnection con=new SqlConnection(); ;database=northwind;integrated security=true;Connection timeout=5" SqlCommand command=new SqlCommand(); command.Connection=con; command.CommandText="select ProductId,ProductName,ProductRate from Products" try con.Open(); SqlDataReader reader=command.ExecuteReader(); while(reader.Read()int id=(int)reader0; string name=(string)reader1; decimal price=(decimal)reader2; Console.WriteLine(id+" "+name+" "+price); catch(Exception e) Console.WriteLine(e.ToString(); finally con.Close(); Console.Read(); 2) using System;using System.Data.SqlClient;class Class1 static void Main(string args) SqlConnection con=new SqlConnection("server=127.0.0.1;database=pubs;integrated security=true;"); try con.Open();SqlDataAdapter da=new SqlDataAdapter("select ProductId,ProductName,ProductRate from Products",con); DataSet ds=new DataSet();da.Fill(ds,"Products"); DataTable dt=ds.Tables"Products"DataView view=new DataView();/新建视图 view.Table=dt; string str="" view.RowFilter="ProductRate<10"/设置 DataView的选择条件 for(int i=0;i<view.Count;i+) str="" for(int j=0;j<view.Table.Columns.Count;j+) str=str+viewij+" "/获得 DataView中的第 i 行的第 j 列数据 Console.WriteLine(str); catch(Exception ee) Console.WriteLine(ee.Message); finally con.Close();