程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#網絡應用編程基礎練習題與答案(五)

C#網絡應用編程基礎練習題與答案(五)

編輯:關於C語言

 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所示;

C#網絡應用編程基礎練習題與答案(五)

  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所示;

C#網絡應用編程基礎練習題與答案(五)

  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所示。

C#網絡應用編程基礎練習題與答案(五)

  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) 按鍵編譯並執行。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved