第一章 初識Windows程式01.淺談控制台應用 解析:控制台應用程式:dos視窗中顯示 Windows窗體應用程式:有控制項參與的,支持事件的一種程式02.關於窗體項目的註意點: /*01.一個解決方案下可以包含多個項目, * 一個項目下可以包含多個窗體 * 02.如何設置一個項目下的某個窗體為啟...
第一章 初識Windows程式
01.淺談控制台應用
解析:控制台應用程式:dos視窗中顯示
Windows窗體應用程式:有控制項參與的,支持事件的一種程式
02.關於窗體項目的註意點:
/*01.一個解決方案下可以包含多個項目,
* 一個項目下可以包含多個窗體
* 02.如何設置一個項目下的某個窗體為啟動窗體???
* 解析:通過更改Program.csMain方法中最後一行代碼設置
* 03.控制項的Name屬性相當於隱藏值,一定要改
* 真正在窗體顯示內容的是Text屬性
* 04.如果一個解決方案下有多個項目,如何設置某個項目為啟動項??
* 解析:可以對項目點擊右鍵→設為啟動項
* 05.機房的項目如何保存,或者保存後如何打開???
* 解析:可以將解決方案另存為到指定的項目下,下次
* 直接打開sln文件就可以了
*
* 06.事件激發錯誤問題???
(這個正常,現在大家都事件的概念還不太理解,
* 隨著學習的深入大家就會瞭解)
* 解析:註意什麼時候激發事件
*
* 07.如何讓窗體運行後無法改變大小?
* 解析:通過如下設置:
* 01.禁用最大化按鈕
* 02.設置FormBorderStyle屬性為任何一個以Fixed開頭的屬性都OK
*/
03..在VS中創建一個窗體後,所有的窗體都繼承自Form類
04.構造函數:
解析:在一個類中,方法名和類名相同,並且沒有返回值類型的方法,稱為構造函數
作用:做初始化工作
05.什麼是事件之事件詳解
解析:由外界事物(獵槍)激發另一個事物(小鳥)的狀態發生改變的情況。
//事件看起來像一個帶參方法,2個參數
//sender:代表的是事件源:事件的激發者
//e:事件的參數:和事件相關的一些信息!
06.窗體變色練習
解析:事件(窗體的Click事件)
This:當前窗體對象
this.BackColor=Color.Red;
07.MessageBox(肯定出2分)
//01.參數一:提示信息
//參數二:標題文本
//參數三:按鈕設置
//參數四:圖標設置
MessageBox.Show("恭喜您,中獎500完,請吃飯可以嗎?","溫馨提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
Warning:
Information:
Error:
08.窗體傳值
解析:從Login窗體傳遞登陸用戶名到Main窗體,可以在Main窗體中定義一個公有的變數,然後在Login窗體的登陸按鈕事件中編寫如下代碼:
Main frm=new Main();
frm.name=txtName.Text;
frm.Show();
然後在Main的load事件中為Label控制項賦值。
09.真正退出程式
在窗體的FormClosing事件中,書寫Application.Exit();
10.多文本框為空驗證
01.在工具箱中的任何控制項都是一個類,一旦你將他拖動到Form窗體上,他就變成了一個對象,進而大家可以通過F4快捷鍵在屬性視窗中,給她的各個屬性賦值。
11.如何解決窗體已經關閉,但是整個應用沒有退出的問題?
解析:使用Application.Exit() 會出
12.練習重點
01.窗體跳轉
如何從窗體A跳轉到窗體B
02.退出整個應用
03.歡迎界面顯示歡迎您,微冷的雨
第2章 構建佈局良好的Windows程式
2015年11月21日13:45:24
01.登陸:
Select count(1) from student
Where studentname= and loginpwd=?;
02.向學生表中添加一條記錄。
03.單選按鈕
04.覆選按鈕
05.菜單欄(MenuStrip)
快捷鍵
方式一:打開(&F) ,缺點:必須先用alt+字元,先定位到一級菜單,然後按F定位到相應內容
方式二:shortCutKeys 打開(Ctrl+F)。優點:可以跳過1級菜單,直接調用需要的視窗
和分割線
06.ToolStrip(工具欄)
01.整個控制項中所有項目的圖片和原圖片大小等同,需要設置imageScalingSize:
32x32 (整個控制項)
02.顯示圖像和文本選項:設置DisplayStyle的值為ImageAndText(單個Item)
03.圖像和文本的位置:TextImageRelation設置ImageBeforeText (單個Item)
07.窗體傳值
01.菜單欄(MenuStrip)
設置快捷鍵方式:
方式一:1.設置菜單項的Text屬性為(打開(&F)),
首先必須按住alt+主菜單快捷鍵進入到對應的主菜單,
然後直接按F就可以打開子窗體。
方式二:通過菜單項的ShorCartKeys屬性設置。
創建對應的組合鍵,可以在主界面直接按對應的
字母鍵就可以打開子窗體
分割線的畫法:
01.插入分割線
02.輸入減號(-)
02.工具欄(ToolStrip)
01.給工具欄項目設置圖片,首先圖片大小由整個ToolStrip來控制,
設置 ImageScalingSize 值為圖片本身像素值。
02.添加每一項目的類型為DropDownButton
03.設置Text屬性為顯示的文本
04.設置DisplayStyle屬性為ImageAndText,讓圖片和文本同時顯示
05.TextImageRelation圖像與文本的相對位置
03. application.Exit()和this.close()
Application.Exit();//退出整個應用程式
this.Close();//關閉當前窗體
04.常見控制項的使用
RadioButton
DateTimerPicker
GroupBox
Panel
05.預留問題:如何讓DateTimePiker不顯示星期
06.Anchor和Dock屬性
Anchor:讓控制項和窗體邊緣的位置保持固定的像素值。
Dock:使控制項停靠在窗體的某個部位(Top,Bottom,Left,RIght),或者填充整個窗體(Fill)
07.設置MDI窗體
001.將Main窗體的IsMdiContainer屬性設置為true
002.在子窗體show()之前加上如下代碼:
frm.MdiParent=this;//this代表當前窗體
面向對象提升:只要能通過點滑鼠設置屬性的地方,都可以通過代碼實現,但是代碼能實現的未必都能通過點滑鼠實現!
08.關於ReadOnly的那些事兒
如果對TextBox設置了ReadOnly屬性,那麼設置字體前景色是不起作用的,必須設置BackColor為Control外的任意顏色即可。
09.如何將資料庫中Grade表中的數據綁定到下拉框中
解析:界面上年級下拉框中顯示的是年級名稱,而學生表中保存的是年級編號,怎麼搞??
解析:public int GetIdByName(string gradename)
{
string sql="select gradeid from grade where gradeName='"+gradename+"'";
}
第3章 使用ListView控制項展示數據
01.ListView初步
步驟一:圖片來源於ImageList,在ImageList:
\
步驟二:將ListView的兩個屬性和ImageList圖片源進行關聯
步驟三:給ListView控制項添加項
步驟四:設置ListView顯示的圖標類型
第4章 實現Windows程式的數據更新
01.枚舉類型
001.枚舉是值類型
002.枚舉本質上保存的是數字
003.枚舉中不能有方法
004.枚舉也是一種數據類型
005.枚舉一般只用來定義有限個值(10個以內)
02.Timer控制項
兩大屬性:Enabled:可以控制定時器開啟還是停止。
Start():開啟定時器 Stop()停止定時器
Interval:每隔多少毫秒執行一段代碼。
重要事件:Tick:你要重覆執行什麼代碼就寫到Tick事件中。
03.模態視窗和非模態視窗
模態視窗:如果該視窗不關閉,那麼不能操作程式中的其他任何功能。ShowDialog()
即時修改問題
第5章 實現Windows程式的數據綁定
01.會用新的方式載入年級下拉框。
02.會使用DataGridView控制項展示所有學員的信息
03.會使用DataAdapter和DataSet對象操作離線數據。
04.Dataset:保存在客戶端記憶體中的一個臨時資料庫。
一個DataSet由多個DataTable組成。
一個DataTable中可以有多行,每一行都是一個DataRow對象,每一列都是DataColumn對象。
5.“請選擇”能不能放到資料庫中形成一條記錄。
登陸
修改密碼
主界面
新增學員信息
修改學員信息
按姓名查詢學員信息
成績管理
刪除
按年級查詢學員信息
DataAdapter和DataSet結合使用圖
第6章 數據篩選和排序
01.TreeView控制項
*學習到了在一個TreeView控制項中,每一個節點的類型都是一個TreeNode。
*預設情況下,會自動激活TreeVuew的根節點
*獲取當前選中節點代碼:tvList.SelectedNode
*獲取當前選中節點的根節點:tvList.SelectedNode.Parent(根節點對象)
*統計TreeView控制項某個節點的深度,深度是從0開始的。獲取深度的屬性是
lvList.SelectedNode.Level;
*節點中如何添加圖片:ImageIndex(預設顯示的圖片) (SelectedImageIndex:選中後的圖片)
*Tag:專門為程式員提供的編程介面,方便用戶對程式的操作 。Tag裡面可以存儲任意
類型的數據,但是一個數據無論之前是什麼類型,一旦被放入到Tag屬性中,那麼就變成了
Object類型,所以,取出Tag屬性值的時候要進行類型轉換。
*AfterSelect事件,當選中某個節點後觸發的事件
02.DataView(類)
DataView dv=new DataView();
dv.RowFilter();
他說:我可以滿足你只和DB交互一次,後續所有的查詢操作(過濾)都由我來完成。
*DataView幹啥的?
解析:用來篩選數據集DataSet中某張表的數據,換句白話來說,就是取出學生表中
一部分符合條件的數據,然後保存到DataView對象中。DataView只是客戶端保存數據的一個
容器,和DataSet呀,DataTable呀!一樣。
*DataSet和DataView和DataTable有什麼關係?
解析:這裡有3分。
DataSet包含多個DataTable。一個DataTable可以擁有多個DataView
*DataRow有一個屬性叫RowFilter,可以對錶中的數據進行篩選過濾。
dv.RowFilter="where後面的內容"; 例如:dv.RowFilter="gradeid="+gid+"";
2015年11月30日16:48:39
作業:
1.在根據年級名稱查詢學生信息窗體中,如下
右鍵菜單中有一項叫錄入成績
2.
3.清空
4.添加學生信息成功後,返回主鍵值。
第七章 航班系統 (周四下午前)
第八章 商品管理系統