第13章 WinForms基础知识.

Slides:



Advertisements
Similar presentations
計算機程式及實習 Computer Program Design and Experiment) 期末報告 ppt 南台科技大學機械工程系 姓名 : 蔡中銘 學號 :4A 授課老師 : 謝慶存大帥哥.
Advertisements

視窗應用程式表單的基本輸出入 資管系 助理教授 詹曉苓.
第二章 VB的编程机制 【授课时间】第3周,第2次课 【授课题目】 2.1 面向对象程序设计概述 2.2 VB中的对象
C#程式設計 第二部分 第5-6章 C# 程式設計 - 南華大學資管系.
計算機程式及實習 期末報告 題目:商店結帳系統
Visual Basic 2005學習範本 第5章 選擇結構.
1.了解VB6.0的功能特点 、集成环境。 2.理解面向对象程序设计的几个概念。 3.掌握VB应用程序设计的步骤。
課程名稱:程式設計 授課老師:________
设计模式可以帮助我们改善系统的设计,增强 系统的健壮性、可扩展性,为以后铺平道路。
第13章多项目设计与开发.
《ASP.NET数据库网站设计教程(C#版)》
類別與物件 Class & Object.
第八章 分析與設計階段 – 物件導向設計(OOD)
Visual Basic.NET 程序设计语言课程内容
《计算机网络技术》 asp.net 程序设计 文本类控件 笪静.
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
CH10.
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
程式簡介、VB、物件導向 國立北門高中 林明璋.
課程名稱:程式設計 授課老師:________
Chapter 5 進階伺服器控制項.
建立VB.NET應用程式 資管系 助理教授 詹曉苓.
第2章 建立Visual Basic應用程式.
第16章 Windows Form與資料繫結 16-1 資料繫結的基礎 16-2 在專案新增資料來源 16-3 使用資料來源建立單筆編輯表單
淺談Visual C# 程式設計 國立台灣師大附中 李啟龍 Jason.
第10章VBA会计应用与实践 第11章会计凭证管理模块设计与实现
基础综合 C++ Builder 显示与输入接口
巨集病毒與VBA.
程式語言 -Visual Basic 變數、常數與資料型態.
第9章 Windows窗体应用程序设计 9.1 窗体设计 9.2 常用的控件设计 9.3 多个窗体之间的数据传递 9.4 多文档窗体
第1章 .NET与C# 为什么要设计一门新的编程语言? C#在微软的.Net平台中占据什么样的地位?
Visual Studio IDE基本操作 建國科技大學 資管系 饒瑞佶.
第18章 B4J的跨平台應用程式開發 18-1 B4J的GUI設計工具與介面控制項 18-2 使用B4J的介面控制項
Visual Basic程序设计基础 计算机科学学院.
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
第10章 視窗應用程式的工具列與功能表.
委派與執行緒 建國科技大學 資管系 饒瑞佶.
第五章 Windows窗体界面设计 5.1 鼠标事件与键盘事件 5.2 Windows窗体基本控件 5.3 菜单与工具栏
移动电子商务 第十二章 Windows Mobile应用案例 倚动软件工厂实验室.
程式設計 Visual Basic簡介 週次:1 建國技術學院 資管系 饒瑞佶 2003年9月17日.
第十二章 Win32環境程式設計 這一章節可以說是本書精華之一,Win32程式設計算是比較複雜的部分,但是我們以最簡單的敘述帶領著大家進入Win32程式設計的殿堂,讓你寫出來的程式具有一定的水準以上。若能將本章與下一章的技巧靈活運用,更能讓大家寫出高階的視窗程式。
視窗程式設計 (Windows Programming)
Ch03 基本輸出入介面設計 視窗程式設計 授課教師:王大瑾.
第四章 命令按钮、标签和文本框 大多数应用程序中都有命令按钮CommandButton控件,用户可以单击按钮执行某项操作。
Visual Basic程序设计.
第二章 创建用户界面 本章重点和难点 2.1 基本属性 2.2 创建窗体 2.3 Visual Basic的常用控件 2.4 制作菜单.
第七章 WinForms基础知识.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第 8 章 VB.NET与数据库应用程序 本章主要内容: ADO.NET体系结构; VB.NET与SQL Server数据库的连接;
Visual Basic.NET 程序设计语言课程内容
P2P聊天工具.
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
題目:南台飲料店結帳系統 南台科技大學 機械工程系 車輛一甲 學號:4A
菜单、状态栏和工具栏 菜单 状态栏 工具栏 编写代码 创建用户界面 Debug and Deploy 使用 Visual
第五章: 輸入與輸出.
VB语言程序设计教程.
劉崇汎 崑山科技大學 電腦與通訊系 DLL的建立與引用 劉崇汎 崑山科技大學 電腦與通訊系
Ch 08 陣列 視窗程式設計.
計算機程式及實習 Computer Program Design and Experiment) 期末報告ppt製作 南台科技大學 機械工程系 題目:南台電影城結帳系統 班級 : 車輛一甲 學號 : 4A 授教學生: 阮偉倫 授課老師: 謝慶存.
补充:c#语言基础.
C#程序设计基础 $3 成员、变量和常量.
第 11 章 功能表列與工具列的設計 & 第 10 章 檔案.
第4章 ASP.NET服务器控件.
Visual Basic 程序设计及应用教程 (6.0版)
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
Visual C# 程序设计 第1章 Visual C#概述 第2章 C#语法基础 第3章 顺序结构程序设计 第4章 选择结构程序设计
JAVA 程式設計與資料結構 第三章 物件的設計.
MenuStrip by Szeto CY Visual C# 2008.
MessageBoxButtons 按鈕 1 AbortRetryIgnore [中止]、[重試] 和 [忽略]   2 OK [確定] 3
Summary
Presentation transcript:

第13章 WinForms基础知识

目标 理解 Windows 窗体 使用基本控件如标签、文本、按钮、列表框和组合框 掌握窗体的常用属性和方法

简介 3-1 GUI界面 控件

简介 3-2 各种控件 属性 放置控件的区域

WinForms应用程序可能存在多个窗体,用于获取用户输入的数据和向用户显示数据 简介 3-3 System.Windows.Forms WinForms应用程序可能存在多个窗体,用于获取用户输入的数据和向用户显示数据

创建 WinForms应用程序 6-1 “开始”“程序”“Microsoft Visual Studio.NET 2003”“Microsoft Visual Studio.NET 2003”

创建 WinForms应用程序 6-2 设计窗口

创建 WinForms应用程序 6-3 从 System.Windows.Forms.Form 派生 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; namespace SampleProject { /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form /// 必需的设计器变量. 基础核心命名空间 提供了大量绘图工具的访问权限 ArrayList、BitArray、Hashtable、Stack、StringCollection 和 StringTable 类 大量窗体和控件 从 System.Windows.Forms.Form 派生 Visual Studio .NET 生成的代码

创建 WinForms应用程序 6-4 构造函数调用 InitializeComponent() 方法 private System.ComponentModel.Container components = null; public Form1() { // // Windows 窗体设计器支持所必需的 InitializeComponent(); // TODO:在 InitializeComponent 调用之后 添加任何构造函数代码 } 项目的容器 private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.Size = new System.Drawing.Size(300,300); this.Text = "Form1"; } 构造函数调用 InitializeComponent() 方法

创建 WinForms应用程序 6-5 /// <summary> /// 清理所有正在使用的资源。 protected override void Dispose( bool disposing ) { if( disposing ) if(components != null) components.Dispose(); } base.Dispose( disposing ); 释放系统资源

创建 WinForms应用程序 6-6 [STAThread] static void Main() { 程序的主入口点 [STAThread] static void Main() { Application.Run(new Form1()); }

System.Windows.Forms.Control WinForms 中的常用控件 2-1 System.Windows.Forms.Control 可视化界面组件统称为控件 System.Windows.Forms Control ButtonBase Button CheckBox Label ListControl ComboBox ListBox TextBoxBase TextBox RadioButton

WinForms 中的常用控件 2-2 标签 文本框 组合框 列表框 按钮

标签 属性 说明 Text 该属性用于设置或获取与该控件关联的文本 方法 说明 Hide 隐藏控件,调用该方法时,即使 Visible 属性设置为 True,控件也不可见 Show 相当于将控件的 Visible 属性设置为 True 并显示控件 事件 Click 用户单击控件时将发生该事件

文本框 属性 说明 方法 说明 事件 MaxLength 可在文本框中输入的最大字符数 Multiline 表示是否可在文本框中输入多行文本 Passwordchar 机密和敏感数据,密码输入字符 ReadOnly 文本框中的文本为只读 Text 检索在控件中输入的文本 方法 说明 Clear 删除现有的所有文本 事件 KeyPress 用户按一个键结束时将发生该事件

按钮 属性 说明 方法 说明 事件 Enabled 确定是否可以启用或禁用该控件 PerformClick Button 控件的 Click 事件 事件 Click 单击按钮时将触发该事件

列表框 属性 方法 事件 Items SelectionMode SelectedIndex SelectedItem SelectedItems Text 方法 ClearSelected 事件 SelectedIndexChanged

使用列表框 private void frmUserAdd_Load(object sender, System.EventArgs e) { this. lstCurrDeptName.Items.Add("软件部"); this. lstCurrDeptName.Items.Add("硬件部"); this. lstCurrDeptName.Items.Add("财务部"); this. lstCurrDeptName.Items.Add("人事部"); } private void cmdOK_Click(object sender, System.EventArgs e) { //注意SelectedIndex的值,第一个应该为0 if (this. lstCurrDeptName.SelectedIndex ==0) MessageBox.Show(this. lstCurrDeptName.Text + "已经选择上...","当前选择的值"); }

组合框 属性 说明 方法 说明 DropDownStyle ComboBox 控件的样式 MaxDropDownItems 下拉区显示的最大项目数 方法 说明 Select 在 ComboBox 控件上选定指定范围的文本

使用组合框 private void frmUserAdd_Load(object sender, System.EventArgs e) { …… this.cboDesig.Items.Add("总裁"); this. cboDesig.Items.Add("副总裁"); this. cboDesig.Items.Add("首席执行官"); this. cboDesig.Items.Add("经理"); //默认的选择是"产品部" this. cboDesig.SelectedIndex = 1; } private void cboDesig_SelectedIndexChanged(object sender, System.EventArgs e) { MessageBox.Show( "选择的是第“ + (this.cboDesig.SelectedIndex+1).ToString() , "选择的信息"); MessageBox.Show( "选择的职务是“ + this.cboDesig.Text , "选择的信息"); }

Abort, Cancel, Ignore, No, None, Ok, Retry 和 Yes 消息框窗口 2-1 消息框用于显示消息 MessageBox.Show(“[消息文本]"); if (MessageBox.Show(“保存文件”,“保存", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { //保存文件所用的代码 //保存后的 MessageBox } Abort, Cancel, Ignore, No, None, Ok, Retry 和 Yes

消息框窗口 2-2 …… 重载方法 Show(string text); Show(string text, string caption); Show(string text, string caption, MessageBoxButtons buttons); Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon); ……

应用程序示例 3-1 属性 窗口 解决方案资源管理器 工具箱

应用程序示例 3-2 private void btnAdd_Click(object sender, System.EventArgs e) { this.txtEmpName.Enabled=true; this.txtAddress.Enabled=true; this.cboDesignation.Enabled=true; this.lstCurrDeptName.Enabled=true; } private void btnCancel_Click(object sender, System.EventArgs e) { this.txtEmpName.Text=""; this.txtAddress.Text=""; this.cboDesignation.Text=“经理"; } private void btnExit_Click (object sender, System.EventArgs e) { string str=""; for(int ctr=0;ctr<=this.lstCurrDeptName.SelectedItems.Count-1; ctr++) str += "\n"+this.lstCurrDeptName.SelectedItems[ctr].ToString(); MessageBox.Show(“选定的项目为\n" +str); Application.Exit(); } private void btnAdd_Click(object sender, System.EventArgs e) { }

在退出应用程序之前,使用 MessageBox.Show() 显示在 str 变量中存储选定项的消息框 应用程序示例 3-3 在退出应用程序之前,使用 MessageBox.Show() 显示在 str 变量中存储选定项的消息框 private void cboDesignation_SelectedIndexChanged (object sender, System.EventArgs e) { MessageBox.Show(“您已经选定了" + this.cboDesignation.SelectedItem.ToString()); }

窗体容器简介 2-1 System.Windows.Forms 标题栏 系统按钮 图标 Control ScrollableControl ContainerControl Form 标题栏 系统按钮 图标 控件

窗体容器简介 2-2 SDI [单文档界面] MDI [多文档界面] 模式窗口

窗体的属性 属性 ActiveForm CancelButton ControlBox FormBorderStyle HelpButton KeyPreview MainMenu Modal ShowInTaskbar WindowState

窗体的常用方法和事件 方法 Activate LayoutMdi ShowDialog 事件 Activated Closed Closing Load

[被调用的窗体类] [窗体实例] = new [被调用的窗体类](); 显示另一窗体 [被调用的窗体类] [窗体实例] = new [被调用的窗体类](); [窗体实例].Show(); private void cmdShow_Click(object sender , System.EventArgs e) { frmA A = new frmA(); A.Show(); }

应用程序示例 6-1 单击“发送”按钮

应用程序示例 6-2 控件 名称 控件 名称 Form frmFeedBack TextBox (姓名) txtName txtEmailId ComboBox (主题) cboSubject TextBox (反馈) txtFeedback MultiLine 属性 True Button (发送) btnSend Button (关闭) btnClose 控件 名称 Form frmUserDetails ListBox lstvalues MultiColumn true Button btnClose

应用程序示例 6-3 private void frmFeedBack_Load(object sender, System.EventArgs e) { this.cboSubject.Items.Add(“一般反馈"); this.cboSubject.Items.Add(“设计反馈"); this.cboSubject.Items.Add(“颜色反馈"); this.cboSubject.Items.Add(“字体反馈"); } private void btnSend_Click(object sender, System.EventArgs e) frmUserDetails objfrmUserDetails = new frmUserDetails(this.txtName.Text, this.txtEmailId.Text, this.cboSubject.SelectedItem.ToString(), this.txtFeedback.Text); objfrmUserDetails.Show();

应用程序示例 6-4 private void btnClose_Click(object sender, System.EventArgs e) { this.Close(); } private void frmFeedBack_Closed(object sender, System.EventArgs e) MessageBox.Show(“感谢您输入的反馈!");

应用程序示例 6-5 public class frmUserDetails : System.Windows.Forms.Form { ……………………………………… private string _name; private string _emailId; private string _subject; private string _feedBack; }

应用程序示例 6-6 public frmUserDetails(string varName, string varEmail, string varSubject, string varFeedBack) { InitializeComponent(); // 在 private 变量中存储值 this._name = varName; this._emailId = varEmail; this._subject = varSubject; this._feedBack = varFeedBack; // 在列表框中放置值 this.lstValues.Items.Add(this._name); this.lstValues.Items.Add(this._emailId); this.lstValues.Items.Add(this._subject); this.lstValues.Items.Add(this._feedBack); }

总结 WinForms可用于 Windows 窗体应用程序开发 Windows 窗体控件是从 System.Windows.Forms.Control 类派生的类 标签控件用于显示用户不能编辑的文本或图像 按钮控件提供用户与应用程序交互的最简便方法 组合框控件是列表框控件和文本框控件的组合,用户可以键入文本,也可以从所提供的列表中选择项目 窗体提供了收集、显示和传送信息的界面,是 GUI的重要元素 消息框显示消息,用于与用户交互

高级WinForms控件 NumericUpDown控件 ProgressBar(进度条)控件 ListView(列表视图)控件 TreeView(树形视图)控件 Splitter(分隔)控件 TabControl(标签控件)

菜单设计

工具栏和状态栏

对话框 模式对话框(Model) 非模式对话框(Modeless) 区别:模式对话框弹出之后,出现在应用程序所有窗口之上,用户不能访问除这个对话框及其控件之外的其他窗口。 模式对话框使用ShowDialog方法显示; 非模式对话框使用Show方法显示。

多文档界面应用程序 单文档界面应用程序(SDI Application) 多文档界面应用程序(MDI Application) 区别:单文档界面应用程序只有一个主窗体; 多文档界面应用程序主窗体内包括多个子窗体,每个子窗体显示一个文档。

多文档界面应用程序的设计工作 创建主窗体以及主窗体上的控件; 创建子窗体以及子窗体上的控件; 实现子窗体的功能; 实现主窗体的功能; 实现父子窗口交互功能。

多文档界面应用程序的主窗口 设置其属性IsMDIContainer为true。