tai lieu huong dan tu hoc visual studio2010

Upload: nguyen-van-nhat

Post on 17-Oct-2015

292 views

Category:

Documents


3 download

DESCRIPTION

Visual Studio 2010

TRANSCRIPT

  • Hng dn thc hnh Nhp mn CNPM

    Bi 1: Lp trnh s kin v gii thiu chung v

    Microsoft Visual Studio 2005 (C#)

    I. Lp trnh hng s kin

    - Gii thiu v lp trnh hng s kin

    - Gii thiu mt s s kin c bn: Form_Load, Button_Click, Key_Press,

    II. Gii thiu chung v Control trn windows

    - Label

    - Button

    - Textbox

    - Listbox

    - Combobox

    - Checkbox, RadioButton

    -

    III. Gii thiu lp trnh ng dng WinForm

    1. Bi tp 1: Vit chng trnh tnh tng hai s

    o Khi ng Microsoft Visual Studio 2005

    o To project: T menu File chn New\Project

  • Hng dn thc hnh Nhp mn CNPM

    Sau khi to project xong:

    o Thit k giao din nh sau (trn thanh cng c Toolbox ko th cc control vo form):

  • Hng dn thc hnh Nhp mn CNPM

    o Trn ca s properties t li tn (thuc tnh name) v caption (thuc tnh text) cho cc

    control

    Vi Form: t li thuc tnh name l frmTinhTong, t li tiu form thng qua

    thuc tnh Text

    Vi label: t li thuc tnh text, khng cn t thuc tnh name

    Vi Textbox: t thuc tnh name ln lc l txtSohang1, txtSohang2, txtTong

    Vi Button: t thuc tnh name ln lc l btnTinhTong, btnThoat v t li thuc

    tnh text nh giao din trn

    o ng k v x l s kin cho button Tnh tng

    Label

    Textbox

    Button

  • Hng dn thc hnh Nhp mn CNPM

    o ng k v x l s kin cho button Tnh tng

    o Nu ngi dng nhp d liu khng hp l?

    o Cn phi kim tra rng buc d liu hp l trc khi tnh tng

    o Dng c php Try.. Catch chn li

    o ng k v x l s kin cho button Thot

  • Hng dn thc hnh Nhp mn CNPM

    2. Bi tp 2: Thit k giao din v ci t chng trnh nh sau:

    3. Bi tp 3: Vit chng trnh Calculator n gin nh sau:

    Bi 2: Lp trnh s kin v gii thiu chung v

    Microsoft Visual Studio 2005 C# (tt)

    IV. Mc tiu: tm hiu cch s dng mt s control c bn

    V. Xy dng chng trnh ng dng:

    1. To ng dng WinForm

    2. Thit k giao din nh hnh sau:

  • Hng dn thc hnh Nhp mn CNPM

    t li thuc tnh v tn cho form

    t li thuc tnh v tn cho cc control trn form

    3. ng k v x l s kin Button Thm

    - Thm mt item mi vo List_Thucdon:

    List_Thucdon.Items.Add(txt_Mon.Text);

    - Sau khi thm xong th clear txt_Mon

    txt_Mon.Text = "";

    4. ng k v x l s kin cho Button

    - Thm mt item c chn trong List_Thucdon vo List_Chon

    List_Chon.Items.Add(List_Thucdon.SelectedItem);

    - Tuy nhin, s xy ra trng hp mt item c add nhiu ln. V vy, phi kim tra

    xem trong List_Chon tn ti item hay cha?

    5. Tng t, ng k v x l s kin cho Button

    - S dng vng lp duyt tt c cc item trong ListBox

    - ???

    6. ng k v x l s kin cho Button

    - Xa mt item ra khi ListBox

    ListBox

    List_Thucdon List_Chon

  • Hng dn thc hnh Nhp mn CNPM

    List_Chon.Items.Remove(List_Chon.SelectedItem);

    Hoc:

    List_Chon.Items.RemoveAt(List_Chon.SelectedIndex);

    - Xa tt c cc item trong ListBox

    List_Chon.Items.Clear();

    VI. Bi tp 1: Hon thin chng trnh trn

    - Cho php chn nhiu item

    - Cho php b chn nhiu item

    - X l cc trng hp c bit

    -

    VII. Bi tp 2: Tm hiu v ng dng mt s control thng dng

    1. ComboBox

    2. DateTimePicker (Hp thoi chn ngy thng nm)

    3. ColorDialog (Hp thoi chn mu)

    4. FolderBrowserDialog (Hp thoi chn th mc)

    5. OpenFileDialog (Hp thoi m file)

    6. SaveFileDialog (Hp thoi save file)

    7. FontDialog (Hp thoi chn Font)

    8.

    Bi 3: Ch ADO.NET

    Cc thao tc kt ni ADO.NET s dng cu trc dng lnh vi namespace

    System.Data.

    Mc ch

    Lm quen vi cc i tng trong ADO.NET (OleDbConnection, OleDbCommand,

    OleDbDataReader, OleDbDataAdapter, DataSet), s dng chng thc hin cc thao tc trn

    c s d liu.

    Yu cu bi tp

    Xy dng ng dng cho php:

    - Nhp thng tin hc sinh (M hc sinh, H tn, Gii tnh, Ngy sinh, a ch, im

    trung bnh, Lp)

  • Hng dn thc hnh Nhp mn CNPM

    - Lu tr thng tin ca hc sinh vo b nh ph (dng c s d liu Access)

    1. Thit k CSDL

    a. M ng dng Microsoft Access

    b. To c s d liu

    T menu File chn New Sau chn Blank database Nhp tn database

    QLHOCSINH sau chn Create

    To bng HOCSINH lu tr thng tin hc sinh

    Sau khi chn hin th form cho php thit k bng nh sau:

    Chn

  • Hng dn thc hnh Nhp mn CNPM

    Cu trc bng HOCSINH to nh hnh trn nh sau:

    HOCSINH

    STT Tn trng Kiu d liu Ghi ch

    1 MaHS Text(20) Kha chnh

    2 HoTen Text(50)

    3 GioiTinh Text(10)

    4 NgaySinh Date/Time Short Date

    5 DiaChi Text(255)

    6 DTB Number Single

    7 Lop Text(20)

    Cch t kha chnh cho bng

  • Hng dn thc hnh Nhp mn CNPM

    2. Thit k giao din chng trnh

    To project Window Application mi vi tn project l QLHS

    Thit k Form Nhp thng tin hc sinh nh mn hnh sau:

  • Hng dn thc hnh Nhp mn CNPM

    3. Thc hin ci t

    thao tc trn c s d liu s dng ADO.NET ta cn c cc i tng sau:

    - Connection kt ni vi c s d liu, gm OleDbConnection v SqlConnection.

    - Command thc thi cc cu lnh truy vn, thc thi cc store procedure... bao gm

    OleDbCommand v SqlCommand

    - DataAdapter thc hin nh x d liu vo DataSet thng qua connection c bao

    gm OleDbDataAdapter v SqlDataAdapter.

    - DataSet cha d liu thu c hoc x l ly t c s d liu. DataSet l tp hp gm

    cc thnh phn DataTable (tng ng vi tng View trong c s d liu),

    DataColumn (tng ng vi Field trong CSDL) v DataRow (tng ng vi record

    trong CSDL).

    kt ni vi CSDL Access, chng ta s dng OleDb. V vy, chng ta cn khai bo s

    dng namespace nh sau:

    Khai bo cc bin i tng (phm vi ton cc) x l cc thao tc vi CSDL nh sau:

    a. X l s kin form load:

    Khi form c load (x l s kin Form_Load) th thc hin cc thao tc sau:

  • Hng dn thc hnh Nhp mn CNPM

    - Kt ni n CSDL Access

    - a danh sch lp vo Combobox

    b. X l s kin button Lu:

    Sau khi nhp thng tin hc sinh, ngi dng nhn vo button , thc hin kim tra

    d liu nhp, nu hp l th lu vo table HOCSINH

    thm mi mt hc sinh vo table HOCSINH thc hin cu truy vn: INSERT INTO

    HOCSINH VALUES ()

  • Hng dn thc hnh Nhp mn CNPM

    c. X l s kin button Xa:

    Khi ngi dng chn chc nng thc hin xa gi tr trn cc control cho php

    nhp hc sinh mi.

    4. Bi tp:

    - Kim tra rng buc d liu hp l trc khi lu thng tin hc sinh

    o M hc sinh, tn hc sinh khng c null

    o im trung bnh l mt s thc t 0 10

    o Ch tip nhn cc hc sinh c tui t 15 20

  • Hng dn thc hnh Nhp mn CNPM

    - Thc hin chc nng khi ngi dng nhp m hc sinh c trong CSDL, chng

    trnh s hin th thng tin hc sinh cho php ngi dng chnh sa thng tin v lu li

    thng tin hc sinh c sa (thc hin UPDATE).

    - Tm hiu control ListView hin th danh sch hc sinh lu tr trong CSDL

    HNG DN THC HNH TUN 4 Ch : ADO.NET (tt)

    Cc thao tc kt ni ADO.NET s dng cu trc dng lnh vi namespace System.Data (tt).

    VIII. Thit k CSDL:

    S dng li CSDL ca tun trc (QLHOCSINH.mdb)

    IX. To ng dng WinForm:

    Trong tun trc chng ta lm quen vi vic thao tc kt ni ADO.NET s dng cu trc

    dng lnh vi namespace System.Data.

    Phn ny chng ta pht trin tip ng dng trong tun trc nng cao cht lng ca

    chng trnh:

    - Tnh tin dng

    - Tnh hiu qu

    - Tnh thn thin

    -

    Thit k li Form Nhp thng tin hc sinh nh mn hnh sau:

  • Hng dn thc hnh Nhp mn CNPM

    Kt qu mn hnh khi chy:

  • Hng dn thc hnh Nhp mn CNPM

    - ListView c 5 cch hin th d liu khc nhau, hin th d liu theo dng li nh trn

    chng ta phi chn thuc tnh View l Details

    - Thit lp column cho ListView

  • Hng dn thc hnh Nhp mn CNPM

    Ci t cc hm load danh sch hc sinh vo ListView

    - Ta ci t hm Doc_DanhSach_HocSinh() ly thng tin hc sinh trong bng HOC_SINH

    t CSDL nh sau:

    - Tip theo ta ci t hm Load_Danhsach_Hocsinh_ListView load thng tin hc sinh (

    c c t hm Doc_DanhSach_HocSinh()) vo listview nh sau:

  • Hng dn thc hnh Nhp mn CNPM

    - Nh vy, trong s kin Form_Load c ci t nh:

    hng dn

    trong tun 3

  • Hng dn thc hnh Nhp mn CNPM

    Bi tp:

    1. Tm hiu mt s s kin pht sinh trn control ListView

    2. Khi ngi dng chn mt row (chn 1 hc sinh) trn ListView hin th thng tin hc sinh

    va chn ln cc control trn form chnh sa v cp nht thng tin.

    Hng dn:

    - X l s kin SelectedIndexChanged

    3. Khi thc hin lu thng tin hc sinh, cn phi kim tra xem hc sinh cn lu c trong

    table HOCSINh cha?

    - Nu cha c th thc hin INSERT INTO - Nu tn ti ri th thc hin UPDATE

    4. X l s kin : Clear d liu trn cc control sng sn cho vic nhp thng

    tin hc sinh mi.

    5. X l s kin : Thc hin xa thng tin ca hc sinh lu trong table HOCSINH

    khi bit m hc sinh.

    Hng dn:

    - Tng t khi thm mi hc sinh

    - Thc hin xa thng tin ca mt hc sinh th cn phi bit m ca hc sinh cn xa:

    Delete From HOCSINH Where MaHS=???

  • Hng dn thc hnh Nhp mn CNPM

    6. Chng ta thy, chng trnh chy c (kt ni c CSDL) phi chp file

    QLHOCSINH.mdb vo ng v tr ng dn c ch ra trong phn kt ni iu ny

    dn n khng tin dng cho ngi dng Suy ngh v cho gii php gii quyt vn

    nu.

    HNG DN THC HNH TUN 5 (Hng dn bi tp tun 4)

    X. C s d liu:

    S dng li CSDL ca tun trc (QLHOCSINH.mdb)

    XI. Xy dng chng trnh:

    Trong tun trc chng ta xy dng ng dng thao tc

    kt ni vi CSDL Access (s dng cng ngh ADO.NET).

    Tuy nhin, chng trnh chy c (kt ni c vi

    CSDL QLHOCSINH.mdb), ngi dng phi chp CSDL

    QLHOCSINH.mdb vo ng v tr ng dn ch ra trong

    chng trnh. Nh vy ngi dng gp phi mt s kh khn:

    - Trn my tnh khc khng tn ti a v ng dn

    nh ch ra trong chng trnh?

    - Ngi dng mun qun l CSDL ti mt th mc

    khc?

    gii quyt kh khn trn, chng trnh h tr cho

    php ngi dng ch ra v tr lu tr CSDL

    QLHOCSINH.mdb trc khi thao tc vi ng dng.

    S dng li chng trnh xy dng trong tun trc

  • Hng dn thc hnh Nhp mn CNPM

    Thm mt Form mi cho php ngi dng ch ra ng

    dn lu tr CSDL

    Sau khi ch ra ng dn, chng trnh s ly thng tin

    ng dn chuyn n cho chui kt ni.

  • Hng dn thc hnh Nhp mn CNPM

    a. Add thm mt Form mi vo project

    Form mi add c tn mc nh l Form2

    b. Thit k giao din cho Form mi nh sau:

  • Hng dn thc hnh Nhp mn CNPM

    Khi ng dng chy, Form2 (form chn ng dn) phi c

    chy trc tin?

    Ta thy, Form1 (form nhp thng tin hc sinh) c to to

    ngay t u, do Form1 mc nh c chy u tin.

    Form2 chy trc, Trong class Program.cs sa li nh sau:

  • Hng dn thc hnh Nhp mn CNPM

    - Trong class Form2.cs khai bo bin sDuongDan nh sau:

    public static string sDuongDan = "";

    Bin sDuongDan c khai bo l public static v cc l

    do sau:

    Form1 c th hiu c bin ny

    Form1 c th gi trc tip bin ny khng cn thng

    qua i tng

    - X l s kin khi ngi dng chn vo button

  • Hng dn thc hnh Nhp mn CNPM

    - X l s kin khi ngi dng chn vo button

  • Hng dn thc hnh Nhp mn CNPM

    - Nh vy, trong Form1 (form nhp thng tin hc sinh)

    chng ta cn phi chnh sa li nh sau:

    Trong s kin form load (Form1_Load) thay dng lnh

    Bng dng lnh sau:

    Ta thy trong s kin button Thoat, tun trc chng ta

    ci t nh sau:

    Tuy nhin, dng lnh this.Close() ch c hiu lc trn

    form hin hnh (ngha l ch thot form nhp thng tin hc

    sinh).

    Trong ng dng chng ta by gi c n 2 form, Form2

    (form chn ng dn CSDl) ang n vn cha thot

    chng trnh vn ang chy.

    thot ng dng (thot chng trnh) ta ci t li nh

    sau:

    XII. Bi tp:

    Gi s chng trnh cn phi qun l danh sch cc hc sinh

    theo tng lp, nng cao cht lng ca chng trnh, trnh

  • Hng dn thc hnh Nhp mn CNPM

    trng lp thng tin trn trng LOP. Chng ta cn phi to

    mt table LOP. Yu cu:

    1. To bng LOP

    2. Thit k v ci t form nhp danh mc lp hc

    3. Thit k v ci t ng dng nhiu form (multi form)

    HNG DN THC HNH TUN 6 Xy dng ng dng nhiu Form

    XIII. Mc ch:

    Trong bi thc hnh ny, cc bn s lm quen

    vi cch xy dng mt ng dng gm c nhiu

    form tng tc vi CSDL Access thng qua

    vic s dng cng ngh ADO.NET

    XIV. Yu cu

    nm c cc khi nim c bn v xy

    dng ng dng Windows bng VB hoc C#

    S dng c h qun tr CSDL Access

    XV. Bi tp

  • Hng dn thc hnh Nhp mn CNPM

    Trong cc tun trc chng ta xy dng

    cc ng dng thao tc kt ni vi CSDL

    Access (s dng cng ngh ADO.NET).

    Trong tun ny, cc bn xy dng ng

    dng multi Forms s dng li cc form xy

    dng trong cc tun trc tip tc cho bi

    tp sau

    c. Thit k form theo mu di y:

    Giao din di y s dng mt s control

    sau:

    a. MenuStrip

    b.ListView

    c. TreeView

    d.ImageList

  • Hng dn thc hnh Nhp mn CNPM

    - Menu h thng, gm cc chc nng sau:

    - Menu H s, gm cc chc nng:

    - Menu tr gip

    d. Thit k menu:

    Thng qua ca s Properties t thuc tnh

    Text v Name cho tng menu item

    tvChucnang:

    TreeView

    lvChucnang:

    ListView

  • Hng dn thc hnh Nhp mn CNPM

    e. Thit k TreeView:

    Mi phn t trn TreeView c gi l mt

    node

    Thng qua ca s TreeNode Editor thit

    lp cc nodes cho tvChucnang

  • Hng dn thc hnh Nhp mn CNPM

    f. Thit k ListView

    Thng qua ca s

    Properties thit

    lp cc thuc tnh

    cho ListView nh

    hnh sau:

  • Hng dn Thc hnh mn Nhp mn CNPM

  • Hng dn Thc hnh mn Nhp mn CNPM

    g.X l s kin khi ngi dng chn mt

    node trn TreeView tvChucnang

    Khi ngi dng chn mt node trn

    TreeView tvChucnang, chng trnh add cc

    chc nng tng ng vo ListView

    lvChucnang

  • Hng dn Thc hnh mn Nhp mn CNPM

  • Hng dn Thc hnh mn Nhp mn CNPM

    h. X l s kin khi ngi dng double

    click mt item trn ListView lvChucnang

    i. Da trn nhng vn c hng

    dn, Sinh vin tip tc pht trin v

    hon thin chng trnh Qun l hc

    sinh.

  • Hng dn Thc hnh mn Nhp mn CNPM

    HNG DN THC HNH TUN 7

    X l trn Form Tm kim

    XVI. Mc ch:

    Trong bi thc hnh ny, cc bn s lm quen vi cch x l cc form tm kim

    thng tin, tra cu v hin th kt qu tm kim.

    XVII. Yu cu

    nm c cc khi nim c bn v xy dng ng dng Windows VB hoc C#

    S dng c h qun tr CSDL Access hoc SQL Server

    XVIII. Bi tp

    Trong cc tun trc chng ta xy dng cc ng dng thao tc kt ni vi

    CSDL Access (s dng cng ngh ADO.NET).

    Trong tun ny, cc bn s dng li ng dng qun l hc sinh lm trong

    cc tun trc, pht trin tip ng dng v xy dng Form tra cu (tm kim) thng

    tin hc sinh.

    j. Thit k form Tra cu thng tin hc sinh theo mu di y:

    H tr tm kim thng tin hc sinh theo lp hc.

    a. S dng control DataGridView hin th thng tin hc sinh

  • Hng dn Thc hnh mn Nhp mn CNPM

    k. Yu cu x l

    Khi chng trnh thc thi:

    a. c tt c cc lp hc hin c v load vo ComboBox cboLop

    Khi ngi dng click vo Button Tm kim:

    b. c danh sch hc sinh ca lp hc c chn trn ComboBox cboLop

    v hin th vo DataGridView dgHocSinh.

    l. X l s kin Form Load

    Hm Doc_DanhSach_Lop(): c cc lp hc trong bng HOCSINH

  • Hng dn Thc hnh mn Nhp mn CNPM

    m. X l s kin khi ngi dng click button Tm kim.

    c danh sch hc sinh t table HOCSINH tng ng lp hc c chn v

    gn vo DataSource ca DataGridView dgHocSinh

    Hm Doc_DanhSach_HocSinh_Theo_Lop()

  • Hng dn Thc hnh mn Nhp mn CNPM

    XIX. Bi tp m rng

    Cho php tm kim thng tin hc sinh theo m s, h tn, gii tnh, lp, V d:

    1. Tm nhng hc sinh nam/n thuc Lp 10A1

    2. Tm cc hc sinh c h Nguyn thuc Lp 10A2

    3.

    Hng dn

    Thit k li giao din

    Cn phi sy ngh cu truy vn d liu nh th no cho php tm kim t hp gia

    cc thuc tnh M hc sinh, H tn, Gii tnh, Lp?

    4. Khi cn tm kim thng tin hc sinh theo m hc sinh th cu truy vn nh sau:

    Tm kim chnh xc:

    Select * From HOCSINH Where MaHS=

    Tm kim gn ng

    Select * From HOCSINH Where MaHS like**

  • Hng dn Thc hnh mn Nhp mn CNPM

    Trong * l k t i din (Access), nu trong SQL th k t i din l %

    5. Khi cn tm thng tin hc sinh da trn lp v h (gi s cn tm cc hc sinh trong

    lp 10A1 c h l Nguyn)

    Select * From HOCSINH Where Lop=10A1 and HoTen like Nguyn*

    6. Nh vy mt cch tng qut th cn phi hnh thnh cu truy vn nh th no?