分享
 
 
 

C#网络应用编程基础练习题与答案(五)

王朝c#·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

1. 填空题

1) 使控件是否可以对用户交互作出响应的属性是 Enabled 。

2) 控制控件是否显示的属性是 Visible 。

3) 若要在文本框中输入密码,常指定 PassWordChar 属性。

4) 若某复选框某时刻CheckState属性的值为Indeterminate,则其属性Checked的值为 Unchecked 。

5) 使用 Panel 或 GroupBox 控件可以将多个RadioButton控件分为两个单选组。

6) 若不希望用户在ComboBox控件中编辑文本,则应将属性 DropDownStyle 的属性值设置为DropDownList。

7) 用于设置MenuStrip控件中某菜单项快捷键的属性是 ShortcutKeys 。

8) 用于控制ListView控件中的各项显示方式的属性是 View 。

2. 判断题

1) 控件就是属性、方法和事件的集合封装体。 ( 对 )

2) TextBox控件只能用于单行文本的输入。 ( 错 )

3) 通过RichTextBox控件只能够与RTF文件进行交互操作。 ( 错 )

4) CheckBox控件的Checked属性与CheckState属性的值始终是相同的。 ( 错 )

5) ToolTip组件用于显示某指定控件的自定义提示信息的。 ( 对 )

3. 区别TextBox控件、MaskedTextBox控件、RichTextBox控件的使用场合。

【解答】

TextBox控件一般用于单段文本的编辑,可以设置为单行或多行的输入模式,也可以用作密码的输入;MaskedTextBox控件主要用于特定格式的单段文本编辑,在输入文本不符合格式要求的将会触发其MaskInputRejected事件;RichTextBox控件除了具有TextBox的一般文本编辑功能外,还可以进行多段文本的高级编辑功能,如改变文本、段落的显示格式、在文本中查找特定字符和字符串以及与Rtf文件的交互等。

4. 简要说明CheckBox控件和RadioButton控件的区别。

【解答】

CheckBox控件可为用户提供选择功能,常用的是二选一的选择,如“真/假”或“是/否”;但该控件也可以通过属性的设置作三选一的选择。每一个CheckBox所代表的选择都是独立的,若有多个CheckBox控件构成一组选项时,则可以多个同时被选中,相互之间不影响,即复选。RadioButton控件,它与CheckBox控件功能类似,也是用于接收用户的选择,但它是以单项选择的形式出现,即一组RadioButton按钮中只能有一个处于选中状态。一旦某一项被选中,则同组中其他RadioButton按钮的选中状态自动清除。

5. 设计一个Windows应用程序,窗体上有一个TextBox控件、一个Button控件。要求,每当用户单击按钮时,文本框都会增加一行文字来反映单击的次数,例如“第3次单击按钮”。

【解答】

1) 窗体界面如图Ex5-5-1所示;

2) 窗体中主要控件属性设置如表Ex5-5-1;

表Ex5-5-1 窗体中的主要控件属性

控件

Name属性

功能

其它属性

TextBox控件

textBox1

显示信息

ScrollBars=Vertical; Multiline=True

Button控件

Button1

触发添加信息事件

Button2

触发结束添加事件

3) 主要事件代码。

以下是引用片段:

……

int i = 1;

bool Add = true;

……PRivate void button1_Click(object sender, EventArgs e)

{

if(Add) textBox1.Text += "第" + i + "次单击按钮\r\n";

i++;

}

private void button2_Click(object sender, EventArgs e)

{

Add = false;

}

6. 编写一段程序,向ListBox控件listBox1中,自动添加10个数,每个数占一项。

【解答】

主要代码如下:

以下是引用片段:

public partial class Form1 : Form

{

int m = 1;

……

private void button1_Click(object sender, EventArgs e)

{

for (int i = m ; i < m+10; i++)

{

listBox1.Items.Add(i);

}

m = m + 10;

}

}

7. 参照Windows系统“附件”中的“计算器”,自行编写一个简易的计算器。要求:可以实现由0~4构成的整数的加减运算。

【解答】

1) 窗体界面如图Ex5-5-2所示;

2) 将InputNumber事件作为button0、button1、button2、button3、button4的Click事件。

完整代码如下:

以下是引用片段:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Exer2

{

public partial class FormCalculator : Form

{

enum calculateType { none, add, sub };

calculateType myCal = calculateType.none;

int x, y;

bool isY = false;

public FormCalculator()

{

InitializeComponent();

textBox.TextAlign = HorizontalAlignment.Right;

}

private void InputNumber(object sender, EventArgs e)

{

Button num = (Button)sender;

if (isY)

{

textBox.Clear();

isY = false;

}

textBox.Text += num.Text;

}

private void buttonEqual_Click(object sender, EventArgs e)

{

y = Convert.ToInt32(textBox.Text);

if (myCal == calculateType.add)

{

textBox.Text = Convert.ToString(x + y);

myCal = calculateType.none;

}

if (myCal == calculateType.sub)

{

textBox.Text = Convert.ToString(x - y);

myCal = calculateType.none;

}

isY = true;

}

private void addButton_Click(object sender, EventArgs e)

{

myCal = calculateType.add;

x = Convert.ToInt32(textBox.Text);

isY = true;

}

private void buttonSub_Click(object sender, EventArgs e)

{

myCal = calculateType.sub;

x = Convert.ToInt32(textBox.Text);

isY = true;

}

private void buttonClear_Click(object sender, EventArgs e)

{

textBox.Text = "";

myCal = calculateType.none;

isY = false;

}

}

}

8. 试利用TreeView、ListView等控件实现一个类似“资源管理器”的文档管理程序,用于查看C:\Documents and Settings目录下的文件。

【解答】

1) 新建一个名为WindowsControlsExercise的项目,在【解决方案资源管理器】中重命名文件Form1.cs为Explorer.cs,并设置Form1窗体的Text属性为“资源管理器”。

2) 向窗体中添加一个SplitContainer控件、一个ImageList控件、一个TreeView控件、一个ListView控件,页面布局及各控件属性如图Ex5-5-3所示。

3) 在【解决方案资源管理器】中,将imageList1控件中的两个图标文件添加到应用程序目录中,分别命名为folder.ico和doc.ico。

4) 在Explorer.cs代码文件中添加命名空间:using System.IO,并添加构造函数代码如下:

以下是引用片段:

public Explorer()

{

InitializeComponent();

PopulateTreeView();

}

private void PopulateTreeView()

{

TreeNode rootNode;

DirectoryInfo info = new DirectoryInfo(@"C:\Documents and Settings");

if (info.Exists)

{

rootNode = new TreeNode(info.Name);

rootNode.Tag = info;

GetDirectories(info.GetDirectories(), rootNode);

treeView1.Nodes.Add(rootNode);

}

}

private void GetDirectories(DirectoryInfo[] subDirs, TreeNode nodeToAddTo)

{

TreeNode aNode;

DirectoryInfo[] subSubDirs;

foreach (DirectoryInfo subDir in subDirs)

{

aNode = new TreeNode(subDir.Name, 0, 0);

aNode.Tag = subDir;

aNode.ImageKey = "folder";

subSubDirs = subDir.GetDirectories();

if (subSubDirs.Length != 0)

{

GetDirectories(subSubDirs, aNode);

}

nodeToAddTo.Nodes.Add(aNode);

}

}

5) 添加treeView1的NodeMouseClick事件,使单击treeView1中某个节点时,用该节点的内容来填充listView1。

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)

{

TreeNode newSelected = e.Node;

listView1.Items.Clear();

DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;

ListViewItem.ListViewSubItem[] subItems;

ListViewItem item = null;

foreach (DirectoryInfo dir in nodeDirInfo.GetDirectories())

{

item = new ListViewItem(dir.Name, 0);

subItems = new ListViewItem.ListViewSubItem[]

{new ListViewItem.ListViewSubItem(item, "Directory"),

new ListViewItem.ListViewSubItem(item,

dir.LastaccessTime.ToShortDateString())};

item.SubItems.AddRange(subItems);

listView1.Items.Add(item);

}

foreach (FileInfo file in nodeDirInfo.GetFiles())

{

item = new ListViewItem(file.Name, 1);

subItems = new ListViewItem.ListViewSubItem[]

{ new ListViewItem.ListViewSubItem(item, "File"),

new ListViewItem.ListViewSubItem(item,

file.LastAccessTime.ToShortDateString())};

item.SubItems.AddRange(subItems);

listView1.Items.Add(item);

}

listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);

}

6) 按键编译并执行。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有