当前位置:文档之家› Winform与C#测试题

Winform与C#测试题

Winform与C#测试题
Winform与C#测试题

Winform与C#试题

1) 已知在一个名为”disOder”的数据集中第一个名为”order”的表,在”order”表中有一行一列,下列()能够正确访问该表记录的第一行第一列的值。(选择一项)

a) disorder[“order”].Rows[0][0];

b) disOrder.Tables[0].Rows[0][0];

c) disorder Tables[0].Columns[0][0];

d) disorder[“order”],Columns[0][0];

2) 在https://www.doczj.com/doc/bf18216718.html,中,下列可以作为DataGrid控件的数据源是()(选择一项)

1.DataSet

2.DataTable

3.DataView

a) 1和2

b) 1和3

c) 3和3

d) 1,2,3都可以

3) 以下关于C#代码的说法正确的是()。(选择一项)

Class My Animals{

private int bodyTemp=98; //1

public int BodyTemy{ //2

get{

return bodyTemp; //3

}

}

}

a) 代码1错误

b) 代码2错误

c) 代码3错误

d) 代码无错误

4) 在ADO。NET中,已知变量sqlCon是一个SqlCommand对象,则下列代码运行时

将出现异常的是()。

SqlDataReader reader=sqlCon.ExecuteReader();//1

reader.Read(); //2

reader.Close(); //3

reader.Read(); //4

a) 1

b) 2

c) 3

d) 4

5) 在C#程序中,下列用来处理异常的结构,错误的是()。(选择一项)

a) catch{}finally{}

b) try{}finally{}

c) try{}catch{}finally{}

d) try{}catch{}

6) 在C#中,下列变量定义与赋值正确的是()。(选择一项)

a) int age = 12.5;

b) string name = ACCP;

c) double money = 100.0;

d) char level = A;

7) 在C#中,下列代码的运行结果是()。(选择一项)

Int []age = new int[]{16,18,20,14,22};

Foreach(int I in age){

If(i>18)

Continue;

Con sole.Write(i.ToString()+” ”);

}

a) 16 18 20 14 22

b) 16 18 14 22

c) 16 18 14

d) 16 18

8) 针对以下的C#代码:

Using System;

Class A{

Static void Main(){

Int[] B = new int[10];

for(int i=1;i<=10;i++){

空白处

}

foreach (int C in B){

Console.WriteLine(C);

}

}

}

要在控制台输出1到10的数字,空白处应填写的正确的代码为()。(选择一项)

a) B[i] = i+1;

b) B[i] = i;

c) B[i-1] = i;

d) B[i+1] = i;

9) 在C#中,下列代码的运行结果是()。(选择一项)

Usintg System;

Calss Test {

Static void Main(){

Try{

Int a = 10;

Int b = 0;

Int c = a/b;

Console.WriteLine(c);

}

Catch{

Console.WriteLine(“出现错误”);

}

Finally{

Console.WriteLine(“运行结束”);

}

}

a) 0

运行结束

b) 10

运行结束

c) 出现错误

运行结束

d) 出现错误

10) 在https://www.doczj.com/doc/bf18216718.html,中,下列()组件不属于.NET数据提供程序。(选择一项)

a) Command

b) DataReader

c) DataSet

d) DataAdapter

11) 在https://www.doczj.com/doc/bf18216718.html,中,下列关于DataSet类说法错误的是()。(选择二项)

a) 在DataSet中,可以包含多个DataTable

b) 修改DataSet中的数据后,数据库中的数据可以自动更新

c) 在与数据库断开连接后,DataSet中的数据会消失

d) DataSet实际上是从数据源中检索的数据在内存中的缓存

12) 在C#中,最容易被程序员发现的错误是()。(选择一项)

a) 逻辑错误

b) 语义错误

c) 语法错误

d) 在一个表达式中,程序员错把++写出了--

13) 在C#中,下列代码的运行结果是()

String[] names = {“ACCP”,”BENET”,”BETEST”};

Foreach(string name in names)

{

Console.WriteLine(name);

}(选择一项)

a) ACCP

BENET

BETEST

b) n

a

m

e

s

c) name

name

name

d) “ACCP”

“BENET”

“BETEST”

14) https://www.doczj.com/doc/bf18216718.html,的()对象用来建立应用程序与数据库的连接。(选择一项)

a)DataSet

b)DataReader

c)Connection

d)Command

15) 在C#中,下列关于程序的各种错误,说法错误的是( ).(选择一项)

a) 只通过调试无法确保程序运行完全正常.

b) 通过异常处理,可以捕获运行时错误.

c) 逻辑错误编译时不能被发现,但是可以通过调试发现

d) 语法错误容易在运行时发现

16) 在https://www.doczj.com/doc/bf18216718.html,应用程序中,通常要处理多条数据库记录,如果每次应用程序需要处理下一条记录时都返回数据库是不实际的,所以一个解决方案是使用( )来完成数据的处理. (选择一项)

a) DataSet

b) ResultSet

c) DataReader

d) DataAdpter

17) WinForm中的状态栏由多个( )组成. (选择一项)

a) 面板

b) 图片框

c) 标签

d) 按钮

18) 在Winform窗体中,关于Toolbar下列说法错误的是( ).(选择二项)

a) 可以通过Items集合添加按钮

b) 可以通过Buttons集合添加按钮

c) 每个按钮没有单独的事件,只能共用ToolBar的ButtonClick事件

d) 每个按钮有自己的OnClick事件

19) 在C#中,下列代码的运行结果是( ).(选择一项)

int []age={1,2,3};

Console.WriteLine(age[2]);

int []name = age;

name[2] = 4;

Console.WriteLine(age[2]);

a) 2

2

b) 3

3

c) 3

4

d) d) 2

e) 4

20)以下关于C#代码的说法正确的是( ). (选择一项)

for(int i=1;i<=3;i++){

switch(i){

case 1:

Console.Write(i.ToString());

case 2:

Console.Write((i*2).ToString());

case 3:

Console.Write((i*3).ToString());

}

}

a) 程序将报告编译错误,提示Case标签不能贯穿到另一个标签,不能运行

b) 运行是输出149

c) 运行时输出123246369

d) 运行时在屏幕上没有输出

21)在https://www.doczj.com/doc/bf18216718.html,中,下列代码的输出结果是( ). (选择一项)

SqlConnection conn=new SqlConnection(“data

source=pub; uid=bill; pwd=12345; initial catalog=Northwind”);

Console.WriteLine(conn.ConnectionString);

a) pub

b) bill

c) data source=pub; uid=bill;pwd=12345;initial catalog=Northwind ?

d) Northwind

22)在C#中,下列代码的运行结果是( ). (选择一项)

class Test {

static void ShowArrayInfo(int[] student){

for(int i=0;i

Console.Write(student[i]++);

Console.Write(“”);

}

}

static void Main(){

int[] student =new int[]{1,2,3,4,5};

ShowArrayInfo(student);

Console.Write(“\n”);

ShowArrayInfo(student);

}

}

a) 1 2 3 4 5

1 2 3 4 5

b) 1 2 3 4 5

2 3 4 5 6

c) 2 3 4 5 6

2 3 4 5 6

d) 2 3 4 5 6

3 4 5 6 7

23)如图,在WinForms中,有一个toolStrip控件,图中CanCel按钮是那种列表()。

(选择一项)

a) Button

b) Label

c) Separator

d) DropDownButton

24)如图是WinForm窗体中一个名为statusStrip1的状态栏,在状态栏中有一statusBarPanel1的面板,下列方法能够正确获得statusBarPanel1面板中的文本的是()。(选择二项)

a)toolStripStatusLabel1.Text;

b)statusStrip1[0].Text

c)statusStrip1.Text

d)statusStrip1.Items[0].Text;

25) 在https://www.doczj.com/doc/bf18216718.html, 中,已知某程序员编写的数据库连接字符串如下,则他使用的是().NET 数据提供程序。

“provider=MSDAORA;Data Source=pubs; UserID=sa;PassWord=##” (选择一项)

a) SQL

b) OLE DB

c) ODBC

d) Oracle

26) 在一个有帮助按钮WinForm窗体,下列关于该窗体的属性的推断正确的是()。(选择两项)

a) HelpButton属性为True

b) ControlBox属性为False

c) MaximizeBox属性为False

d) Modal属性为True

27) 在C#中,下列代码的运行结果是()。(选择一项)

Static void Main(string[] args)

{

Console.WriteLine(“运行结果是:{0}”,”运行结果”);

}

a) 运行结果

b) 运行结果是:{0}

c) 运行结果是:运行结果

d) 运行结果是运行结果

28) 在https://www.doczj.com/doc/bf18216718.html,中,下列()组件用来获得只读只进数据。(选择一项)

a) DataSet

b) Command

c) DataReader

d) DataAdapter

29) 在C#中,()正确定义了一个数组。(选择一项)

a) int iArray=new int[10];

b) int[] iArray=new int;

c) int [] iArray=new int[10];

d) int[] iArray=new int(10);

30) 在.NET中,在窗体中显示一个消息框,并在点Yes按钮时关闭窗口,代码如下:

MessageBoxButtons buttons=MessageBoxButtons.YesNo;

DialogResult result;

// (1)此处填写正确的代码

if(result==DialogResult.Yes)

{

this.Close();

}

则您认为在(1)处最合适的代码应该是( )。(选择一项)

a) result = MessageBox.Show(this, "Cancel this operation?", "No Server Name Specified", buttons);

b) result=MessageBox(this,”Cancel this operation?”,”No Server Name Specified”,bottons);

c) result=MessageBox.Show(“Cancel this operation?”,”No Server Name Specified”);

d) result=MessageBox(“Cancel this operation?”,”No Server Name Specified”);

31) 在.NET中,程序员在代码中漏写了一个大括号,这属于()。(选择一项)

a)逻辑错误

b)运行时错误

c)语法错误

d)自定义错误

32)在C# 中,下列表达式计算正确的是()。(选择二项)

a)10%3=3

b)10/3=3

c)10%3=1

d)10/3=1

33)在C# 中,程序使用()语句抛出系统异常或自定义异常。(选择一项)

a)run

b)throw

c)catch

d)finally

e)try

34)运行如下的C#代码段将()。(选择一项)

Int a = 10;

string b = “10”;

Console.WriteLine (a+b);

a)输出:20

b)输出:1010

c)输出:10+10

d)编译报错,提示数据类型不匹配

35)在https://www.doczj.com/doc/bf18216718.html,中,有以下四条代码,你认为它们最可能的编写顺序是(C )。SqlConnection sqlCon = new SqlConnection(); //1

sqlCon.Close(); //2

sqlCon.ConnectionString = “Server=.;DataBase=pubs;uid=sa;pwd=pwd”;//3

sqlCon.Open(); //4

a)1,2,3,4

d)1,3,2,4

c)1,3,4,2

d)4,3,2,1

36) 在WinForms中,为了防止用户无意关闭窗体,需要在()时间中编写代码,提示用户是否关闭窗体。(选择一项)

a)Closing

b)Closed

c)Load

d)VisibleChanged

37) 如图,为了在某WinForms窗体主菜单的一个菜单项中显示所有打开的子窗体列表,需要设置该菜单项的()属性为true。(选择一项)

a)Enable

b)Checked

c)MdiList

d)RadioCheck

38) 在.NET中,程序中的错误可以划分为以下三类,除了()。(选择一项)

a) 逻辑错误

b) 运行时错误

c) 语法错误

d) 自定义错误

39) 已知在数据库Student 的stuInfo表中,有两行三列,则下列代码的运行结果是()。SqlConnection sqlCon=new

SqlConnection(“Server=.;DataBase=Student;integratedsecuriy=SSPI”);

sqlCon.Open();

SqlCommand.cmd = new SqlCommand(“select stuName from stuInfo”,sqlCon); SqlDataReader reader = cmd.ExecuteReader();

Console.WriteLine(reader.FieldCount);(选择一项)

a) 1

b) 2

c) 3

d) 5

40) 已知WinForm窗体中有一个Timer控件,Interval属性设置为4分钟,当控件计时1分钟后,调用了控件的Stop方法,再过1分钟后,重新调用控件的strat方法,则自该次调用Strar方法后,第一次触发控件的Tick 事件的时间间隔是()分钟。(选择一项)

a) 1

b) 2

c) 3

d) 4

41) 某程序员在D盘根目录下创建了一个名为student.mdb的ACCESS数据库,在数据库中建立一个名为StudentINfo的学生信息表,为了访问学生信息中的数据,程序员编写了以下代码,你认为运行到第()条代码时,将会出错。(选择一项)

oleDbConnection oleCon = new

OleDbConnection(“Provider =Microsoft.Jet.OLEDB.4.0;Data

Source=D:\\Student.mdb”);// (1)

// Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Documents and Settings\xpxh\My Documents\test.mdb"//

OleDBDataAdapter da =new OleDB DataAdapter(“Select * from studentInfo”,oleCon);

//(2)

DataSet ds; //(3)

Da.Fill(ds,”studentInfo”); //(4)

oleCon.Close();

a)1

b)2

c)3

d)4

42) 在C#中,下列代码的运行结果是()。(选择一项)

int x = 6;

switch (x)

{

case 6:

case 7:

Console.writeLine(“今天是周末”)l

Break;

case 1:

Console.writeLine(“今天是星期一”)l

Break;

case 2:

Console.writeLine(“今天是星期二”)l

Break;

default :

Console.w riteLine(“你完成任务了吗?”);

Break;

}

a) 没有输出

b) 今天是星期一

c) 今天是星期二

e)d) 今天是周末

43) 在WinForms窗体中有一名为txtUser的TextBox 的控件,其MaxLengths属性为5,该控件的当前文本为“网络编程”,若再执行代码:txtUser.AppendText(“高手”);则控件的文本为:()。(选择一项)

a) 网络编程

b) 网络编程高

c) 网络编程高手

d) 出现运行是错误

44) 在C#中,下列代码运行的结果是()。(选择一项)

class DaysInYear

{

private int days;

public static void Main()

{

DaysInYear newDaysInYear = new DaysInYear();

Console.WriteLine(newDaysInYear.days - 1);

}

}

a) -1

b) 0

c) 1

d) 编译报错

45) 在WinForm中,为了禁用一个名为btnOpen的Button控件控件,下列做法正确的是()。(选择一项)

a) btnOpen.Enable = true;

b) btnOpen.Enable = false;

c) btnOpen.Visible = true;

d) btnOpen.Visible = false;

46) 下列关于C#的异常处理的说法,错误的是()。(选项一项)

a) try块必须跟catch块组合使用,不能单独使用

b) 一个try块可以跟随多个catch块

c) 使用throw语句既可以引发系统异常,也可以引发由开发人员创建的自定义异常

d) 在try...catch…finally块中,即便开发人员编写强制逻辑代码,也不能跳出finally块的执行

47) .NET构架中被用来访问数据库数据的组件集合称为: ( )

A. ADO

B. https://www.doczj.com/doc/bf18216718.html,

C. COM+

D. Data https://www.doczj.com/doc/bf18216718.html,

48) 在https://www.doczj.com/doc/bf18216718.html, 中,执行数据库的某个存储过程,则至少需要创建( )并设置它们的属性,调用合适的方法:

A. 一个Connection 对象和一个Command 对象

B. 一个Connection 对象和DataSet 对象

C. 一个Command 对象和一个DataSet 对象

D. 一个Command 对象和一个DataAdapter 对象

49) 在https://www.doczj.com/doc/bf18216718.html,中,为了确保DataAdapter对象能够正确地将数据从数据源填充到DataSet 中,则必须事先设置好DataAdapter对象的下列哪个Command属性( )

A) DeleteCommand

B) UpdateCommand

C) InsertCommand

D) SelectCommand

50) 为使用OleDb .NET Data Proviver连接到SQL Server 2000数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设置为:

( )

A) Provider=SQLOLEDB

B) Provider=SQLSERVER

C) Provider=Microsoft.Jet.OLEDB.4.0

D) Provider=MSDAORA

51) 在使用https://www.doczj.com/doc/bf18216718.html,编写连接到SQL Server 2000数据库的应用程序时,从提高性能的角度考虑,应创建( )类的对象, 并调用其Open方法连接到数据库:

A) OleDbConnection

B) SqlConnection

C) OdbcConnection

D) Connection

52) 在使用https://www.doczj.com/doc/bf18216718.html, 设计数据库应用程序时,可通过设置Connection 对象的( )属性来指定连接到数据库时的用户和密码信息.

A. ConnectionString

B. DataSource

C. UserInformation

D. Provider

53) 在WinForm窗体中,放置了一个PictureBox 控件PictureBox1,在设置PictureBox1控件的Image 属性后,当图片与控件的大小不一致时,可以通过如下代码()使PictureBox1控件的大小与图片大小保持一致。(选择一项)

A.this.PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;

B.this.PictureBox1.SizeMode = PictureBoxSizeMode.Normal;

C.this.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

D.this.PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;

54) 在.NET的WinForms程序中,可以使用( )对象来连接和访问数据库。(选择一项)

A.MDI

B.JIT

https://www.doczj.com/doc/bf18216718.html,

D.System.ADO

55) 在WinForm应用程序中,可以通过以下()方法使一个窗体成为MDI窗体。(选择一项)

A.改变窗体的标题信息

B.在工程的选项中设置启动窗体

C.设置窗体的IsMdiContainer属性

D.设置窗体的ImeMode属性

56) 在以下WinForms窗体的下方使用了()控件.(造择一项)

A.进度条

B.树型视图

C.滚动条

D.状态栏

57) ( ) 方法执行指定为Command对象的命令文本的SQL语句,并返回受SQL语句影响或检索的行数。

A)ExecuteNonQuery

B)ExecuteReader

C)ExecuteQuery

D)ExecuteScalar

58) 下列()是https://www.doczj.com/doc/bf18216718.html,的两个主要组件。(请选择一项)

a) Command和DataAdapter

b) DataSet和Data Table

c) .NET数据提供程序和DataSet

d) .NET数据提供和DataAdapter

59) 在WinForms窗体中,有关ListView空件,运行下面代码之后,下列说法错误的是()。(请选二项)

This.listView1.SelectedItems[1].Text = “ABC”

a) 将选择的所有的列表的文本值修改为“ABC”

b) 将选择的第一项的文本值修改为“ABC ”

c) 当没有选择任何项的时候,程序出错

d) 当选择的只有一项的时候,程序出错

60) 在https://www.doczj.com/doc/bf18216718.html,中,SqlConnection 类所在的命名空间是()。(选择一项)

a) System

b) System.Data

c) System.Data.OleDb

d) System.Data.SqlClient

61) 在WinForms 中,下列代码的运行结果是()。(选择一项)DataSet ds = new Dataset(“Books”);

Console.Writeline(ds.DataSetName);

a) Books

b) Student

c) ds

d) ds.DataSetName

62) lvwList是WinForms窗体中的列表视图控件,下面是它的事件代码(C#):private void btnChangeText_Click(object sender, System.EventArgs e)

{

lvwList.SelectedItems[1].Text = "A";

}

运行该代码时,下列说法正确的是()。

A、更改所有选择的列表项的文本为"A"

B、更改选择的第一项的文本信息为"A"

C、当只选择一项的时候,程序将报告错误信息

D、当没有选择任何项的时候,该代码行不会被执行

63) 在.NET的控件中,Panel、GroupBox、TabControl等分组控件,有时候也被称之为

()。(选择一项)

A.容器控件

B.组合控件

C.排列控件

D.基类控件

64) 以下的C#程序代码:

String A="ABC";

Console.WriteLine(A.Length);

程序运行时在控制台打印输出值为()。(选择一项)

A.ABC

B.0

C.3

D.不打印任何信息

65) 按照C#命名规范,窗体的命名的前缀最好为()。(选择一项)

A.win

B.frm

C.form1

D.f

66) 以下C#程序代码:

int A=3;

int B=4

Console.WriteLine(A+B);

因为第二行代码少写了一个分号,程序运行时将()。(选择一项)

A.产生语法错误

B.产主语义错误

C.中断

D.正常运行

67) .在C# 中,代码运行后,变量c的值是()

Int a = 15,b = 10;

Float c=(float)a/b;

A.0

B.1

C.1.5

D.5

68) 在C#中,下列代码运行后,变量Max的值是()(选择一项)Int a=5,b=10,c=15,Max=0;

Max = a>b?a:b;

Max = c

A.0

B.5

C.10

D.15

69)下面()是合法的变量名.

A) accp5.0

B) _Csharp

C) 99$

D) Main

70) 下面( )是C#中的文档注释

A) //注释

B) /* 注释*/

C) ///注释

D) /**注释*/

71) 下面这段代码的输出是( )

Int year =2046;

If(year %2==0)

{

Console.WriteLine(“进入if”);

}

Else if(year%3==0)

{

Console.WritleLine(“进入了else if”); }

Else

{

Con sole.WritleLine(“进入了else”); }

Console.ReadLine();

A) 进入了if

B) 进入了if

进入了else

C) 进入了else

D) 进入了if

进入了else if

进入了else

72) 运行下面一段代码,将输出( ) Int r=3;

Float pie=3.14f;

Console.WritleLine(“圆的周长为{0}”,2*pie*r); Console.ReadLine();

A) 圆的周长为2

B) 圆的周长为3.14

C) 圆的周长为18.84

D) 运行出错

73) 运行下面这段代码的结果为( )

String day = “星期一”;

Switch(day)

{

Case “星期一”:

Case “星期三”:

Case “星期五”:

Console.WritleLine(“去上课”);

Case “星期六”:

Console.WritleLine(“聚餐”);

Case “星期日”:

Console.WritleLine(“逛街”);

Default:

Console.WritleLine(“睡觉”);

}

Console.ReadLine();

A) 去上课

B) 去上课

聚餐

逛街

睡觉

C) 什么都不输出

D) 编译出错

74) 以下一维数组的初始化正确的是( )

A) int array[] = new int[5];

B) int[] array = new int[5]{0,1,2};

《.NET-WinForm编程》课程设计-模板

《.NET WinForm编程》课程设计题目:智能QA系统的设计与实现 学院/ 系软件学院 专业信息管理与信息系统专业(日英强化)年级 2009级 学号 00988**** 作者姓名 **** 2012年 7月 5日

本次课程设计题目为智能QA系统的设计与实现,首先介绍了QA技术的现状,然后提出一个基于QA的数字信息化领域的架构,并对相关关键技术进行了讨论,最后说明了QA在数字信息化领域的应用前景。 本系统由三个模块组成,QA管理模块、答案管理模块和信息查询模块。QA管理模块包括信息的新增,修改,删除。答案管理模块实现了答案的基本操作,信息查询模块要求在输入查询条件后,会根据一定的逻辑输出答案。由于各模块的分开及进入系统前验证用户身份,也加强了各种信息的安全性及保密性。 根据系统所需功能,决定以Windows XP为开发平台,采用SQL Server 2005做后台数据库,选择功能强大的Visual Studio 2008为开发工具,利用软件工程思想和方法,总体上用结构化生命周期法进行系统分析和设计,采用快速原型法来实现,系统本系统界面友好,与目前市场上的主流游戏软件大体一致,而且操作更加简单,使用方式和微软各种软件(Windows、Office)基本相同,减少了用户学习、使用本游戏系统的额外负担。本文通过系统概述、系统分析、系统设计、系统实施、开发总结五章,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结。 该系统使用了功能强大的.NET WinForm开发技术,使用了基于MVC机制的三层架构。操作方便,可维护性强。经过大量的测试,基本符合用户需求。 关键字:智能OA;信息查询;三层架构;C#

实验1:WinForm程序设计

实验一:WinForm程序设计 实验名称:WINFORM程序设计学时安排: 2课时实验类别:验证型、设计型实验要求:1人1组 一、实验目的和任务 1.掌握创建WinForms应用程序的步骤 2.熟悉WinForms应用程序的控件 二、注意事项和要求 1.第一部分必须要完成,第二部分尽量完成,第三部分供有余力的同学完成; 2.完成后上传项目压缩文件到ftp服务器指定目录,压缩文件名称:学号(后两位)-姓名。 三、实验内容和步骤 1.第一部分:跟着老师练习 1)创建一个名为AppSum的WinForms应用程序,要求用户在文本框中输入2个数字, 然后求2数之和。效果如下图所示: 2.第二部分:自己思考练习 1)创建一个Windows窗体应用程序,允许用户从给定的颜色和字体列表中选择颜色、字 体等设置。用户还可以通过将标准颜色用作基本颜色来创建自定义颜色,并使用滚动 条来增大/减小红色、蓝色和绿色的渐变。选定的颜色应适用于窗体界面。选定的字体 中应显示一个文本示例。效果如下图所示:

2)具体步骤: 新建一个名为AppSettings的Winforms应用程序项目,并将主窗体重命名为FrmSettings。 拖动一个TabControl控件到窗体上,name属性改为tagSettings;选择tagSettings 控件的TabPages属性并单击右边的“…”按钮;出现“TabPage集合编辑器”对 话框。添加两个选项卡页,并将其分别命名为tabColor和tabFont,对应的Text 属性设置为“颜色”和“字体”。 拖动工具箱中的控件来设计窗体,颜色标签页对应的窗体如下:

WinForm界面布局

WinForm界面布局 Dock&Anchor Dock和Anchor是水火不容的,同时给控件设置Dock和Anchor属性时后设置的会覆盖前面的设置。 Dock 我初接触WinForm的时候发现控件的Width和Height只能是int,不能设置为百分比,那个时候就想子控件如何跟着父控件而变化呢?父控件变大就变大,而且还填满那个区域。甚至以为这个需要通过代码来解决,如是在SizeChanged事件里…… 后来才发现我要的就是Dock给的,Dock是停靠的意思。Dock属性的类型是DockStyle枚举: 1:public enum DockStyle 2:{ 3:None=0, 4:Top=1, 5:Bottom=2, 6:Left=3, 7:Right=4, 8:Fill=5 9:} 默认是None,当为Left的时,就表示子控件停靠在父控件的左边区域,并把左区域填充满: 上图中的Panel总是会停靠在Form的左边区域,不管如何调整Form的高度,它总是能把左边区域填满。Dock麻烦的地方在于多个控件碰到一起时,比如有两个Panel都设置为Left 该怎么办?我们会发现向父控件的Controls集合中添加子控件,越晚添加具有更高的“优先级”(不知道有没有这个说法,这是我杜撰的)。这里的优先级指的是,子控件“优先级”越高,

越靠近父控件边缘,其他子控件就得避让: [我的见解;通过选中控件,一般是pannel,右键选择置为底层,来决定控件间的优先级] this.Controls.Add(this.panel1); this.Controls.Add(this.panel2); Panel2后添加进去,所以它具有更高的优先级,更靠近Form的边缘。这个规则不仅仅对于Dock都设为Left的有效,对Dock属性不同,但是碰到一起的子控件也适用: 1:this.panel1.Dock=DockStyle.Left; 2:this.panel2.Dock=DockStyle.Left; 3:this.panel3.Dock=DockStyle.Top; 4: 5:this.Controls.Add(this.panel1); 6:this.Controls.Add(this.panel2); 7:this.Controls.Add(this.panel3); panel3的Dock设置为Top,最后添加到Controls集合中,所以具有最高的优先级,其他两个panel都得避让:

winform界面设计规范

winform界面设计规范 Winform开发一般遵循的原则 窗体类 型 ..................................................................... .............. 2 尺寸比 例 ..................................................................... .............. 3 窗体控件元 素 ..................................................................... ..... 3 Tab键次 序 ..................................................................... ........... 5 快捷 键 ..................................................................... ................... 5 右键菜 单 ..................................................................... .............. 5 区域排 列 ..................................................................... .............. 6 UI开发异常处理..................................................................... 6 执行动作要提 示 ..................................................................... 7 文字表 达 .....................................................................

C#登录界面设计教案

课题:登录界面窗体设计 一、教材分析 《C#程序设计基础教程》第六章的form2登录界面窗体设计里,介绍了登录界面的制作过程。本课强调学生对于C#语言的理解能力以及窗体设计的实际操作能力。按照新课改的教学理念,要注意培养学生的信息素养,培养学生不断探索新知识的能力,所以本课重在培养学生通过已有知识的掌握,自己主动去解决新的问题,只有具备这种能力,才能不断的去探究去创新。在内容上,本课是把前面学习C#程序设计语言实际运用到窗体的触发事件的代码设计中,是对前面所学语言的灵活运用,是前面知识的拓展和延伸;同时对于窗体的各个控件的学习,也为下面更复杂的窗体设计作了一个很好的铺垫,起到承上启下的作用。 二、学情分析 本课的授课对象是五年制大专电子商务专业四年级的学生,他们已经具备了一定的信息素养和动手能力,本学期学生同时还上了另外一门网页制作的课程,网页制作里涉及到一些控件的使用跟本课知识点有些类似,所以学生已经掌握了一些控件的使用方法以及属性的设置方法,对于窗体的简单设计已经有一定基础。但是作为非计算机专业学生,对于控件的触发事件的代码编写还是有不少困难的,所以本课降低难度,学生只要理解相关代码,并进行运用即可,不要求学生一定要自己编写代码,学有余力的同学可以尝试独立编写代码,所以可以进行分层教学,体现了新课标里的让所有的学生都参与到学习中来! 三、教学目标 1、知识与技能 a.掌握Form窗体、Button按钮、Text文本框和Label标签的创建和设置方法以及它们 相关属性的设置方法。 b.掌握Button按钮的Click单击事件的触发方式,并能够理解相关触发事件的代码设计。 c.初步掌握利用各类窗控件制作出简单的窗体设计作品。 2、过程与方法 a.通过教师的知识点讲解以及学生的自主探究和合作学习,使学生掌握新的知识点。 b.通过学生亲手动手实践,自主探索,使学生基本掌握简单窗体设计的方法。 c.采用任务驱动、自主学习、探究学习、合作学习等教学方法,让学生观察、思考、交 流,培养学生自主学习、合作探究的能力。 3、情感态度与价值观

WinForm UI设计与开发思路

WinForm UI 设计与开发思路 最近一年来一直在做WinForm 相关的系统,对WinForm 的UI 设计有一些想法想和大家讨论(主要是比较忙,所以很多只是设想,还没有开发实例) 关于WinUI ,理想的情形应该是外观比较cool ,能给用户良好的使用体验和印象,同时又兼顾功能强大和容易开发。但基于传统的.NET WindowsForms ,恐怕除了容易开发,在其他方面的指标都很普通了。如果为了界面和功能,则复杂度会提高很多,用大量的GDI+和API 操作,相信会让很多人头痛不已。 以下是一些思路: Custom Control 写代码定制控件 Shell Style 利用Shell Style 工具 Flash Control 利用Flash 控件 Html Control 利用Html 控件 编程来实现各种样式的控件,这个是大家比较熟悉和常用的方法,也是上面提到过的。我们现在集中来讲解一下后面三种。 Windows Shell Style 不知道大家在厌倦了Windows 默认的窗体和菜单后,是不是用过一些改变Windows 外观的软件,例如StarDock 公司的很多产品(WindowBlinds 总知道吧)以及TGTSoft 的StyleXP 。

轻松改变Windows程序的外观 事实上微软在Win2000,XP,2003系统上均引入了Visual Style的概念,也就是系统外观主题。它提供了一些API,可以方便地修改Windows窗体和控件的整体外观呈现。所以我们一般在改变Windows的主题后,一般大部分程序的按钮、形状都会跟着改变(在.NET中可能需要将控件的FlatStyle设成System并且EnableVisualStyles()才会有效) 这里要提的是TGTSoft的StyleXP工具,它基于Windows Visual Style架构,同时又有自己的API,此外,它还有其他一些优点,比如它的每种外观样式,全部打包在一个DLL文件中,同时还有相应的工具(StyleBuilder)来制作这些样式DLL。 在安装完StyleXP后,我们可以在"C:\WINDOWS\Resources\Themes\主题名称 \shell"目录中找到该主题的DLL文件。 StyleBuilder让你定制自己的Windows外观 有了这些基础,我们就可以在我们的程序中利用ShellStyle的API来应用这些外观样

winform界面设计规范

Winform开发一般遵循的原则 窗体类型 (2) 尺寸比例 (3) 窗体控件元素 (3) Tab键次序 (5) 快捷键 (5) 右键菜单 (5) 区域排列 (6) UI开发异常处理 (6) 执行动作要提示 (7) 文字表达 (7) 颜色使用恰当,遵循对比原则 (8)

窗体类型 我们把UI理解成窗体以及窗体上用户的交互规则。窗体主要包括主界面类型和对话框类型两种。 主界面指应用程序启动后最主要的界面,其生命周期一般与应用程序保持一致。通过菜单或按钮的形式调用其它子界面和执行功能。一般由以下几个部分组成。标题栏,菜单栏,工具栏,目录栏,工作区,信息输出区(栏)。此外很多应用程序中又增加一些漂浮的子窗体以面板的形式附加到主界面中。

对话框一般指应用程序中具有返回结果的窗体。一般表现为模态窗体,包括信息展现部分,信息输入部分和结果选择按钮三部分组成。此外,UI部分除了主窗体和对话框外还有浮动窗体,托盘菜单等方式与 用户交互。 尺寸比例 主窗体尺寸一般在运行期默认最大化,否则遵循纵横比为4:3,16:9为益。对话框除了和主窗体一样的原则外也有3:4(4:3旋转90度)的纵横比,总之窗体的尺寸只要保证纵横比屏幕一致。 当窗体元素太少,比如只有一个文本标签时,可以不遵循该原则,因为保证窗体尺寸纵横比之前首先要确定窗体不能有大范围的空白区域。 窗体控件元素 主窗体一般按菜单栏,工具栏等组成部分分为上中下左右五个分布区(TOP,Client,Bottom,Left, Right,),根据实际需求可能舍去某些分布区。分布区一般由Split Panel控件分隔,这样可以使用户自行调节各个分布区的尺寸大小。注意处在不同分布区控件的Anchor属性,保证当窗体尺寸因鼠标拖动改变时控件尺寸按照分布原则变化。 下表为控件在不同分布区的Achor属性值。

Winform设计界面规则(与大家共享)

一份界面规范(c/s),和大家共享(摘录) Posted on 2006-07-04 09:33 东人EP阅读(158) 评论(0)编辑收藏引用所属分类: .NET 在参考了很多资料后,整理出来的一份界面规范(是c/s程序的,但其中的原则部分对任何界面都是具有参考价值的),希望能给大家带来帮助。 其中的图片没有贴上来,因为文字已经足够描述清楚了。 ------------------------------------- 1. 界面规范 1.1. 总体原则 l 以用户为中心。设计由用户控制的界面,而不是界面控制用户。 l 清楚一致的设计。所有界面的风格保持一致,所有具有相同含义的术语保持一致,且易于理解 l 拥有良好的直觉特征。以用户所熟悉的现实世界事务的抽象来给用户暗示和隐喻,来帮助用户能迅速学会软件的使用。 l 较快的响应速度。 l 简单且美观。 1.2. 原则详述 1.2.1. 用户控制 用户界面设计的一个重要原则是用户应该总是感觉在控制软件而不是感觉被软件所控制。 l 操作上假设是用户--而不是计算机或软件--开始动作。用户扮演主动角色,而不是扮演被动角色。在需要自动执行任务时,要以允许用户进行选择或控制它的方式来实现该自动任务。l 提供用户自定义设置。因为用户的技能和喜好各不相同,因此他们必须能够个性化界面的某些方面。Windows为用户提供了对许多这方面的访问。您的软件应该反应不同的系统属性--例如颜色、字体或其他选项的用户设置。 l 采取交互式和易于感应的窗口,尽量避免使用模态对话框,而使用"非模式"辅助窗口。"模式"是一种状态,它排除一般的交互,或者限制用户只能进行特定的交互。当最好使用一个模式或该模式只是可替换的设计时--例如,用于在一个绘图程序中选定一个特定感觉-- 请确保该模式是显然的、可见的,是一个明确的用户选定的结果,并且容易取消。 l 在后台运行长进程时,保持前台式交互。例如,当正在打印一个文档,即使该文档不能被改变,用户也应该可以最小化该窗口。 l 谅解。用户喜欢探索一个界面,并经常从尝试和错误中学习。一个有效的界面允许交互式

winform界面风格规范-v1.1

界面设计规范

1.引言 1.1 设计说明 本文档是对系统界面设计风格进行描述,而和用户交互的最终界面将会中项目《详细设计说明书》中设计和解释。 1.2 概念和定义 1. 用户界面 又称人机界面,实现用户与计算机之间的通信,以控制计算机或进行用户和计算机之间得数据传送的系统部件。 2. GUI 即图形用户界面,一种可视化得用户界面,它使用图形界面代替文本界面。 开发人员必须选择仔细选择窗体,并且要理解为什么比其他形式的窗体更适用。 3. 主要窗体(Primary Windows) 主要窗体包含了一个应用程序的大部分功能,大多时候它是一个单独的窗体,但在一个MDI风格的应用程序中,父窗体和子窗体都被认为是主要窗体。 1) Single Document Interface (SDI) 一个单独的主要窗体通常包含一个菜单栏、工具栏和状态栏,打开此窗体时应该运 行在当前所有窗体的上面,并且在任务栏提供显示,就像记事本和写字板程序。 2) Multiple Document Interface (MDI) 通常适合有多个任务,或同时管理所有的窗口。例如Microsoft Word,Excel和V isual Basic。 3) Split Document Interface (split SDI或Explorer) 是一个分隔的主要窗体,通常包括菜单栏、工具栏和状态栏。例如资源管理器和 Outlook。 4. 次要窗体(Secondary Windows) 一个次要窗体通常用于为主要窗体提供补充信息和交互作用,界面比较简单。 1) Modal dialog boxes(模态对话框) 2) Modeless dialog boxes(非模态对话框) 3) Property sheet 1.3 用户假定

WinForm UI设计与开发思路

WinForm UI设计与开发思路 最近一年来一直在做WinForm相关的系统,对WinForm的UI设计有一些想法想和大家讨论(主要是比较忙,所以很多只是设想,还没有开发实例) 关于WinUI,理想的情形应该是外观比较cool,能给用户良好的使用体验和印象,同时又兼顾功能强大和容易开发。但基于传统的.NET WindowsForms,恐怕除了容易开发,在其他方面的指标都很普通了。如果为了界面和功能,则复杂度会提高很多,用大量的GDI+和API 操作,相信会让很多人头痛不已。 以下是一些思路: 编程来实现各种样式的控件,这个是大家比较熟悉和常用的方法,也是上面提到过的。我们现在集中来讲解一下后面三种。 Windows Shell Style 不知道大家在厌倦了Windows默认的窗体和菜单后,是不是用过一些改变Windows外观的软件,例如StarDock公司的很多产品(WindowBlinds总知道吧)以及TGTSoft的StyleXP。

事实上微软在Win2000,XP,2003系统上均引入了Visual Style的概念,也就是系统外观主题。它提供了一些API,可以方便地修改Windows窗体和控件的整体外观呈现。所以我们一般在改变Windows的主题后,一般大部分程序的按钮、形状都会跟着改变(在.NET中可能需要将控件的FlatStyle设成System并且EnableVisualStyles()才会有效) 这里要提的是TGTSoft的StyleXP工具,它基于Windows Visual Style架构,同时又有自己的API,此外,它还有其他一些优点,比如它的每种外观样式,全部打包在一个DLL文件中,同时还有相应的工具(StyleBuilder)来制作这些样式DLL。 在安装完StyleXP后,我们可以在"C:\WINDOWS\Resources\Themes\主题名称 \shell"目录中找到该主题的DLL文件。 有了这些基础,我们就可以在我们的程序中利用ShellStyle的API来应用这些外观样式,通过加载不同的资源DLL,就可以轻松改变软件的外观。当然这种方式中,你所使用的控件还是传统的Windows控件,所以还是有一定局限性。 至于如何利用ShellStyle的API,CodeProject上有一个不错的例子:Themed Windows XP style Explorer Bar Flash Control 我们知道Flash的出现和广泛流行都是由于Web环境,但Flash发展到今天,其功能已不

Winform开发框架主界面设计展示

Winform开发框架主界面设计展示 做了好多年Winform的程序的开发,主窗口的界面设计一般都要求做的更好一些,可以根据不同的系统功能模块进行归类整合,能使客户迅速寻找到相关功能的同时,也能感觉到整体性的美观大方,因此主窗口的界面设计总是会精益求精,力求做到更好用、更美观,这样才能吸引客户使用。目前的主体界面设计,可以使用很多控件进行美化,这样能使得开发者能够迅速开发好美观的界面,也可以使得界面总体性有一个统一、规范的基准。一般推荐使用DevExpress 或者DotNetbar这两款界面控件套件,他们都能设计出类似Office的Ribbon界面,这种界面整体感觉会比较好一些。1、标准的DevExpress样式界面 在我的Winform开发框架中,也分为了传统性界面、DotNetBar样式界面、DevExpress样式界面这三种,根据不同的开发场景进行使用,如果是历史性原因导致,那就根据需要选择,如果是新的程序开发,那么建议采用DevExpress 样式的界面,这种界面样式,经过我这几年的开发应用了解,觉得真的非常棒,非常强大,基于Dev样式的《Winform开发框架》主体界面设计如下所示。 这个主体界面是Ribbon样式的界面,它分为了几个部分,我

从顶部开始到下面进行介绍。 1)、顶部样式选择 DevExpress控件可以将窗体的空间运用到极致,很多细微的地方都可以用起来。在开发的应用程序中,增加这个样式选择,也会使客户觉得这个程序开发也是非常专业的(^_^)。 2)、主程序菜单 在Ribbon样式中,添加这种样式的主程序菜单,比增加一个顶部的MenuBar来的好看,这也是标准的Office程序的Ribbon样式菜单,我们可以在里面添加各种层级的菜单,如下面是一个简单的退出和重登录菜单。 3)、主界面帮助小按钮 主界面的右边可以放置一些小按钮,如在程序中放置一个帮助小按钮,用来给客户提供帮助或者技术支持的网址链接,都是不错的选择。 4)、Ribbon样式分组按钮 在我的Winform开发框架中,通过图文并茂的功能按钮,可

WinForm界面设计规范

Chip系统规范 界面设计-WinForm(V1.0) 1.总原则 Chip系统界面设计,需要遵循以下原则: 1,一致:命名的一致、大小的一致、操作的一致、逻辑的一致; 2,简约:用简单、向导性、无歧义的文字表示系统的意图; 2.按钮(Button) 1,功能按钮的摆放要将关联性高的摆放在一起,如: 2,任何界面的“退出”操作要摆放在最右侧,下面是不符合逻辑的图例: 3,功能按钮的名称要统一,如查询条件之后的搜索按钮,统一命名“查询”,而不是“搜索”。 4,相同操作的功能按钮,在不同的界面中要有一致的命名、大小、颜色、背景、快捷键等。5,表示新增操作的功能按钮,其文本内容都要是“新建”,代码的命名中要带有New。6,表示编辑操作的功能按钮,其文本内容都要是“编辑”,代码的命名中要带有Edit。 7,表示删除操作的功能按钮,其文本内容都要是“删除”,代码的命名中要带有Del。 8,表示保存操作的功能按钮,其文本内容都要是“保存”,代码的命名中要带有Save。9,表示确认操作的功能按钮,其文本内容都要是“确定”,代码的命名中要带有OK。 3.列表(DataGird或DataGridView) 1,列表的列头要将关联性高的摆放在一起,正确的格式如: 2,列表要有明确的默认排序,如一般按照操作时间倒序,很少有程序要求是按照操作时间升序排列。 3,列头不换行。 4,列头的宽度要根据列的内容自定义,一般情况下,列头的宽度要略宽于单元格平均的宽度,如果列头的文字内容多于单元格,则列宽要超过列头所有文字再加两个汉字宽度。

不可以所有的单元格的内容都紧紧的依靠单元格的分割线,正确的格式如: 不正确的格式如: 5,如果所有列宽小于列表的宽度,列头的最后一列就要撑满整个列头,如: 6,在不同界面中,表达同一业务概念的列头或者文字标签或者文字内容,要有一致的命名,比如所有表述房间类型的地方都叫“房型”。一定不可以出现的情况是,在列表界面中的查询条件中出现的输入框的文字标签内容和查询结果列表中的列头名称不同。 7,任何列表,都应该被一个GroupBox包围,该GroupBox的文本内容要能简约地表示列表的内容,如: 8,默认情况下,列表都是要考虑分页,分页要用系统默认的分页组件,如上图。 9,在客户端中,所有列表的背景都用Info颜色,不要使用系统默认的灰黑色。 10,在查找不到结果时,列表内容以及分页显示数据都要复原或清空。 4.文本输入框和文字标签(TextBox和Label) 1,任何有文本输入框的地方,一定要考虑文本输入框的格式,也一定要校验用户输入的内容,需要校验的是:是否必须输入、长度是否符合约定、内容是否符合格式要求。 2,任何文本输入框的前面,都要摆放一个文字标签,用来概括后面跟着的文本输入框的内容,文字标签中文字的内容后面要有1个英文的冒号,该冒号与文本输入框之间要有2

相关主题
相关文档 最新文档