1. Trang chủ
  2. » Công Nghệ Thông Tin

Ebook kỹ thuật và thủ thuật lập trình visual basic 2010 2011 tập 2 phần 1 xuân thịnh, nam thuận

139 342 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Th.S: XUÂN THỊNH - NAM THUẬN nhóm Un học thực dụng Kỹ thuật thủ thuật lập trình VISUAL BASIC 2010 - 2011 Từ đến nâng cao - dành cho học sinh, sinh viên trường Cao Đẳng Đ ại Học ♦ M icrosoít V isuaJ B asic 2010-2011 b ản nâiig cấp cải liế n qxian trọng ciia ngôn n g ữ lậ p tr in h lâ ê m trìn h biên d ịc h V lsual B asic p h o b iế n , m ộ t công Iighệ điíỢc r ắ t n h iề u n h lập trìn li Id iắp th ế giới tin cậy sử diuig ♦ V i cách bố cục c h ặ t c h ẽ th e o từ n g c h ủ đ ề chitơng rát Iihiều tập thực Ì i ằ i ì bước chương trùửi New Edition m ăii, b a n n h a n h chóĩig học đư ợc cá ch tạ o ííng dụncị V isuai Basic ♦ Các tín h n ăn g m ới n h t c ủ a Visi.ial B asic giiip b ạn lập trìn h n h an li (ĩạ t h iệ u qiiâ cao hơn, n h ấ t k h i b n tliíc h sử dụiig tíc h h ợp th ô n g tlii từ sở d ữ liệ u , phư ơng tiệ n g iả i trí» tra n g W eb Wcb slte Hy vọng saii k h i học xong birôc t h ủ th u ậ t lậ p trìn h tro n g q u y ển sá c h n ày với V isiial Basic NHÀ XUẤT BẢN HỒNG ĐỨC L ỜI NỐI ĐẦU M icro so ft V isu a l B asic 8010-8011 b ả n n â n g c ấ p cải tiế n q u a ii trọ n g c ủ a n g ò n Iigữ lậ p tr ìn h ld.êm trìrứ i b iê n d ịc h V istia l B a sic p h ổ b iế n , m ộ t công n g h ệ đưỢc r ắ t lủ iiề u n h lậ p trìiử i Ichắp ứ iế giớ i tin cậy s d ụ n g V is u a l B asic 2 1 lchông p h ả i s ả n p h ẩ m độc lậ p m m ộ t th iứ i p h ầ n c h in h c a M ỉcro so V isu a l S tu d io 201 -2 1 - m ộ t h ệ th ố n g p h p t r i ể n to n d iệ n cho p h é p Hgười d ù n g tạ o r a lứ iữ ng ứ ng diỊHg m n h m ẽ d n h ch o W indow s, W eb, t l ii ế t b ị cầ m tay , v r ấ t n liiề u m ô i trư n g Iđiác Bộ s c h "K ỷ t h u ậ t v tJhủ t h u ậ t lậ p t r ìn h VTSIIA L B A ­ S IC -2 1 " gồ m tậ p , h ng d ẩ n to n đ iệ n lậ p trìn li V is u a l B a sic s d ụ n g p h ầ n m ề m V isu a l B a sic 2010-2011 V ới c c h b ố cụ c c h ặ t c h ẽ th e o từ n g c h ủ đ ề ch n g r ắ t n h iề u b i tậ p th ự c h n h từ n g bư c ch n g tr ì n h m ẫ\i, b n s ẽ n h a n h ch ó n g h ọ c cá ch tạ o ứ n g d tư ig V istial B a sic -2 1 c h ấ t lượng c h u y ê n n g h iệ p d n h ch o h ệ đ iề u h n h W ữ id o w s n h iề u t i ì n h d u y ệ t W eb C ác t í n h n ăn g m i n h ắ t c ủ a V isu a l B asic g iú p b n lậ p tr ù ứ i n h a iứ i h n v đ t h iệ u q u ả cao hơ n , n liấ t k lii b n tliic h s d ự n g t íc h h ợ p th ô iig t i n t sở d ữ liệ u , p h n g tiệ n g iả i t r í, tr a n g W cb v W cb sitc H y v ọ n g s a u k h i h ọ c x o ĩ i g bư c v t h ủ t h u ậ t lậ p trìiứ i tro n g q u y ể n sác li n ày với V isu al B asic V is u a l S tu d io In teg r a te d D e v e lo p m e n t E n \lro n n ie n t (ID E ), b n s ẽ Id iô n g nhữmg tạ o đưỢc ch n g tr ìn h ứ ng d iu ig c ă n b ả ii m có k h ả n ă n g s d ụ n g n liiề u công c ụ c ủ a p h ầ n m ề m n y đ ể v iế t ch n g tr b ủ i ch o M icro soít V isu a l -2 1 , M icrosoít V is u a l c # -2 1 , M icrosoữ V isu a l W eb D ev elo p er 2010, v n h i ề u s ả n p h ẩ m k h ác T c g iả C h n g 11: S dụng m ảng đ ể quản lý liệu s ố chuỗi PHẦN (II Lộp trình nâng coo thiết kế giao diện người dùng Chương II : Sử dụ n g c c m ản g đ ể qu ản lý d liệu s ố v chuỗi ChtMĩig 12: Làm việ c vớ i cá c tậ p hợp Chướng 13: K h ả o s ấ t c c File T ex t v x lý chuỗi Chương 14: Q uản lý c c ịo r tn Windou)s c c cơntroỉ v o th i g ia n ch ạy Chương 15: Tbêm đ h ọa v cá c h iệu ứìig h o t h ìn h Chươĩtg 16: Thừa k ế c c fo r m v tạ o c la s s c s Chương 7: Làm việ c vớ i c c m y in C h d n g 11; Sử dụng m ảng đ ể quản lý liệu s ố v chuỗi ” , Sử dụng mỏng để quỏn ụ liệu số chuỗi Sau k h i hoàn th n h chtM ng n y bạn s ẽ có thể: * TỔ chức thông tin m ảng có kicb cỡ cố định I>à m ảng dộng, K G iữ gìn d ữ liệu m ảng bạn tái định chiềíi mảng * Sứ dụng m ảng m ã đ ể quản lý lượng lởn clữ liệu a S ứ dụng phĩccmg tbữc Hort Keverse class Array d ể sáp xế p lại thứ tự mảng ^ S dụng control ProgressBar cbĩcơng trình đ ể th ể ĩtĩọt tác ưít m ất thời gian bao lân u ản lý th ô n g tin tro n g m ột ứng dụng M icrosoíl Visual Basic m ột tá c vụ quan trọ n g k h i chương trìn h trở n ên đáng kể hơn, b ạn cần công cụ bổ sung để lưu trữ v xử lý liệu M ột phường p h áp n h a n h để quản lý liệu tro n g chương trìn h lưu trữ tru y tìm th ô n g tin tro n g íĩle tex t phụ n h b n th ấ y chương 13 Tuy n h iên , phưcmg pháp to àn diện n h ấ t lưu trữ truy tìm thông tin b ằn g việc sử dụng sở liệu b ạn b ắ t đầu học cách tích hợp chương trìn h với sd liệu tro n g chương 18- C h n g 11: s dụng m ảng để quản lý liệu s ố chuỗi T rong chưcmg này, b ạn học cách tổ chức biến th ô n g tin khác th n h k h u n g chứa hữu dụng gọi m ảng (array) B ạn học cách hợp lý h ó a tác vụ quản lý liệu b ằn g m ảng có kích cỡ cố đ ịn h m ảng động cách sử dụng m ảng tro n g m ã để quản lý lượng lớn liệu B ạn học cách tá i định chiều m ảng gìn giữ liệu tro n g m ản g k h i b ạn định th a y đổi kích cỡ m ộ t m ảng Để m inh họa m ảng lớn có th ể xử lý thê' nào, b ạn sử dụng phương thức S o rt R everse tro n g class A rray M icrosoft NET F ram ew ork để sắ p xếp lạ i th ứ tự m ột m ảng chứa giá trị số nguyên chữ sô’ ngầu nhiên Sau cùng, b n học sử dụng control P rogressB ar người dùng biết m ột tiế n tr ìn h (liên quan đến m ảng dó) m ấ t th i gian N hững kỹ th u ậ t m b ạn học m ang lại m ột bước khởi đầu làm quen vững với n h ữ n g kỹ th u ậ t lập trìn h sở liệu m b ạn k h th c sau tro n g sách Làm việc với mảng biến Trong p h ầ n n ày b ạn học m ảng (array), m ột phương p h áp hữu dụng để lưu trữ h ầu b ất kỳ lượng liệu tro n g trin h thực th i chương trìn h Các m ảng m ột cấu m ạn h th nghiệm qua thời gian để lưu trữ giá trị liên quan m ột cách logic tro n g m ột chương trìn h N hững người p h t triể n BASIC, Pascal, c , ngôn ngữ lập trìn h phổ biến k h c k ế t n h ập m ảng vào p h iên b ả n sớm n h ấ t sả n p h ẩm n y để th am chiếu đến m ột nhóm giá tr ị b ăn g việc sử dụng tê n để xử lý giá t n m ột cách riên g lẻ chung Các m ản g có th ể giúp b ạn theo dõi m ột tậ p hợp nhỏ giá trị nhữ ng cách k h ông thực tiễ n sử dụng biến tru y ền thống Ví dụ, tưởng tượng tạo m ột b ản g điểm bóng chày chín lượt chơi tro n g m ộ t chương trìn h Đ ể lưu gọi lại số điểm cho ỉược chơi tr ậ n đấu, có th ể b ạn r ấ t m uôn tạo h nhóm gồm biến {tổng cộng 18 biến) tro n g chương trìn h Có lẽ b ạn đ ặ t cho chúng m ột tê n dó n h InninglH om eT eam , InninglV istingT eam để làm cho chúng rõ ràng L àm việc riên g lẻ với nhữ ng biến n ày đòi hỏi thời gian không gian đ án g kể tro n g chưcmg trìn h T h ậ t m ay th ay , với Visual Basic, b ạn có th ể tổ chức nhóm gồm biến tương tự th n h m ột m ảng có m ột tê n chung m ột index dễ sử dụng Ví dụ, b ạn có th ể tạo m ột m ảng hai chiều (cao h a i đơn vị rộng đơn vị) đ ậ t tê n Scoreboard để chứa số điểm cho tr ậ n đấu bóng chày H ãy xem diều n ày làm việc th ế 10 C h n g 11: sử dụng m àng để quản lý liệu s ố chuỗi Tạo m ột mảng B ạn tạo k h a i báo m ảng m â chương trìn h tương tự bạn k h báo biến dơn giản N hư thường lệ, vị trí m b ạn k h báo biến tro n g đ ịn h nơi có th ể sử dụng phạm vi (scope) nh sau: * Nếĩt bạn khai báo m ột m ảng cách cục m ột thủ tục, bạn có th ề sứ dụng thủ tục u Nếu bạn khai báo m ột m ảng p h ầ n trôn củng cùa m ột /orm bạn củ tb ể sứ dụng qua siiốt fo n n ^ N ếu bạn khai báo m ột m ảng m ột cách pttbỉíc m ộtpỉiblỉc, bạn có th ể s ủ dụng ncH proịecỉ K hi b n k h báo m ột biến, b ạn thường bao hàm th ô n g tin trìn h bày tro n g b ản g 11.1 tro n g câu lệnh k h báo Bảng 11.1 Các phẩn tử cú pháp cho phẩn khai báo m ảng Các p h ầ n tử cú pháp tron g k h báo m àng Mô tà Tên mảng Tên mà bạn sử dụng để đại diện cho mảng chương trình Nói chung, tên mảng tuân theo quy tắc y tên biến, (Xem chương 5, để biết thêm thông tin biến) Kiểu liệu Kiểu liệu mà bạn lưu trữ mảng Trong hầu hết trường hợp tấ t biến inộL mảug kiểu Bạn có th ể xác định kiểu liệu hoặr bạn chưa chắn kiểu liệu dược lưu trữ m ảng bạn sử đụng nhiều kiểu hay không, bạn xác định kiểu Object Số chiều Số chiều mà mảng chứa Hầu h ế t mảng chiều (raột danh sách giá trị) hai chiều (một bảng giá trị), bạn xác định chiều bổ sung bạn làm việc với mô hình toán học phức lạp chẳng hạn hình dạng ba chiều Số chiều mảng gọi hạng (rank) mảng SỐ phần tử Sô' phần tử mà mảng chứa Các phần tử mảng tương ứng trực tiếp với iniex mảng Index mảng (zero)- C h n g 1 : S d ụ n g c c m ả n g đ ể q u ản !ý d ữ liệ u s ố v c h u ỗ i 11 • • • • • • • Thủ thuật Các mảng chứa số phần tử xác lập gọi mảng có kích cỡ cố đ ịn h (flx e d size array) Các m ảng chứa m ọt số phần tử khả biến (các mảng có th ể m rộ n g tro n g trìn h thực th i chương trìn h ) gọi m ảng động (d y n a tĩiic array) Khai báo m ột mảng có kích cỡ cố định Cú p h áp b ản cho m ột m ảng có kích cỡ cô' định public Dim ArrayNam e(Dim 1lndex, Dim2lndex, ) As DataType Các đối sô’ sau quan trọng: a D im từ khóa khai báo mảng, sứ dụng Public thay ỉ’ì bạn đặi m ả n g m ột modnỉe m A rrayN am e tên biển mảng » D im lỉn d e x giởi hạn trẽn chiều thứ n h ấ t mảng, đ â y số p h ầ n tứ trt'c cho a D im ỉn d ex giới hạn chiền thứ hai mảng, đ â y số p h ầ n tứ tnc cho (Các chiều bổ sung có th ề đìCa vào chúng tách biệt bàng ảấn phẩy) M D ataType m ột tì( khóa ticơng ứng t>ới kiểu d ũ liệu m đìCa vào m ảng Ví dụ để k h a i báo m ột m ảng chuỗi m ột chiều có tê n Em ployees có chồ d àn h cho 10 tê n n h ân viên (dược đ án h số từ đ ến 9), b ạn có th ể gõ nhập dòng m ả sau tro n g m ột thủ tục kiện; Dim Employees{9) As string T rong m ột module, p h ần khai báo m ảng trô n g sau: Public Employees(9) As string B ạn có th ể xác định m ột cách tường m inh giới h n m ảng zero b ằn g việc sử dụng m ã tro n g m ột th ủ tục kiện: Dim Employees(0 To 9) As string Cú p h áp "0 to 9" n ày đưa vào để làm cho m ã dễ đọc - nểười đ ến chương trìn h bạn hiểu rằ n g m ảng Employees có 10 p h ầ n tử đ án h số từ đến Tuy nhiên, giới h n m ảng 12 C h n g 11: S dụng m ảng đ ể quản lý dư liệu s ố chuỗi p h ải zero B ạn không th ể sử dụng cú pháp n ày để tạo m ộ t giới hạn khác cho mảngOành riêng nhớ K hi b ạn tạo m ột m ảng, Visual Basic dành riên g chỗ trố n g cho tro n g nhớ Ả nh chụp m àn h ìn h sau m inh họa k h i niệm m ả n g Employees 10 p h ần tử tổ chức n h th ế Các p h ần tử đ án h sô' từ đến th a y từ đến 10 bdi index m ảng b ắ t đầu với E m p lo y e e s Đ ể k h báo m ột m ảng chiều public có tên Scoreboard có chỗ trống đ àn h cho hai h àn g chín cột Uệu số nguyên S h o rt, b ạn có th ể gõ n h ập câu lện h sau tro n g m ột th ủ tục kiện p h ần trê n form: Dim Scoreboard(1, 8) As Short Sử dụng cú pháp n h ấ n m n h giới h ạn (zero), b ạn có th ể khai báo m ảng n h sau: Dim Scoreboard(0 To 1, To 8) As Short Sau b ạn k h báo m ột m ản g hai chiều Visual B asic d ành riê n g chỗ trố n g cho tro n g nhớ, bạn có th ể sử dụng m ả n g chưcmg trìn h n h th ể m ộ t b ản g giá tr ị n h m in h h ọ a ả n h chụp m àn h ìn h (Trong trường hợp n ày p h ầ n tử m ảng đánh sô' từ đến từ dến 8) C h n g 11: S dụng m ảng để quản iý dừ liệu s ố chu ỗi 13 Scoreboârd C c cột C ác hàng Làm việc vớ i phần tử mảng Để th a m chiếu đ ến m ột p h ần tử m ột m ảng, b ạn có th ể sử dụng tên m ảng m ột index m ảng đ ặ t dấu ngoặc đơn Index m ột số nguyên m ột biểu thức vốn tạo n ên m ột số nguyên, Ví dụ, index có th ể m ột b iế n số nguyên chẳng h n num, m ột biểu thức chẳng h ạn n h num -1 (Biến đếm cho m ột vòng lặp For N ex t thường sử dụng) Ví dụ, câu lệ n h sau gán giá trị "Leslie" vào p h ầ n tử có m ột index tro n g ví dụ m ản g Employees p h ần trưức: Employees(5) = ‘ Leslie’ Câu lệ n h n ày tạo r a k ế t tro n g m ột m ản g Employees: E m ployees Lesile Tương tự, câu lệ n h sau gán số vào h n g 0, cột (phần trê n lượt chơi th ứ ba) tro n g ví dụ m ảng Scoreboard tro n g p h ần trước: Scoreboard{0, 2) = 14 C h n g 11: Sử dụng m ảng đ ể quản lý liệu s ố chu ôi Câu lện h n ày tạo k ế t sau dây tro n g m ảng Scoreboard: Scoreboard C ác cột C ả c hàng B ạn có th ể sử dụng kỹ th u ậ t tạo index n ày để g án tru y tìm b ấ t kỳ p h ần tử m ảng Khai báo m ột mảng gán cho giá t r ị ban đầu Cũng có th ể k h a i báo m ột m ản g g án cho g iá tr ị b a n đầu m ột lúc Cú p h áp câu lệ n h n ày tương đương với n h ữ n g b n học việc g án m ộ t g iá tr ị ban đầu vào m ộ t b iế n tạ i th i đ iểm k h a i báo hừu dụng k h i b ạn b iế t trước m ộ t m ản g cần lớ n bao n h iê u nội dung Để tạo m ột m ảng b ằn g cách này, bạn sử dụng nhữ ng gọi trực kiện m ảng (array liberal) M ột trực kiện m ản g gồm m ột d an h sách giá tr ị dược p h ân cách b ằn g dấu phẩy đ ặ t tro n g dấu ngoặc (II) Khi b n sử dụng cú p h áp này, b ạn có th ể cung cấp kiểu m ản g để Visual B asic sử dụng suy lu ận kiểu (type inference) để đ ịn h m ả n g n ên có kiểu Ví dụ, để k h a i báo m ột m ảng m ột chiều có tê n W a ite rs có kiểu S trin g điền vào tê n , b ạn sử dụng cú p h áp sau đây: Dim W aiters() As strin g = {"Ben", "Sue", "Lee", "Kim-, "Pat", "Eve", “S a i") Chú ý rằ n g kích cỡ m ảng tự động đ ịn h Visual Basic k h i W aiters khai báo Ngoài ra, b ạn k h ông biểu th ị m ột kiểu m ảng, Visual B asic sử dụng suy luận kiểu để đ ịnh kiểu liệu m ảng cho bạn Rõ ràng, tấ t liệu có m ột kiểu, trìn h biên dịch b iế t rõ kiểu liệu n ê n sử dụng cho m ảng N hưng có m ột hồn hợp kiểu chẳng h n n h n h iều sô' nguyên, sô' có độ xác đơn sô' có độ xác kép, M icrosoĩt Visual Studio chọn m ột kiểu liệu cho m ản g đủ lớn để chứa tấ t giá trị T ro n g n h iều trường hợp, kiểu liệu Object biến (và m ảng) O bject th iế t k ế đậc b iệt để chứa b ấ t kỳ kiểu liệu Câu lệ n h sau k h báo m ột m ảng có tê n In v e stm e n ts sử dụng m ột trực k iện m ản g dể th ê m bốn giá trị vào m ản g k h i tạo Vì kiểu C h n g 15: T h êm đổ họa hiệu ứng hoạt hình 129 tạo r a m ột k ế t bị biến d ạn g răn g cưa nhiíng k h i b ất nhữ ng ^ m ột cô h ìn h ản h nhỏ Class System.Dravving.Graphỉcs N am espace System D raw ing bao gồm r ấ t nhiều class để tạo ả n h hiệu ứng đặc b iệ t tro n g chương trìn h T rong p h ần n ày b ạn học đói chút class System D raw ing.G raphics, cung cấp phương thức thuộc tín h để vẽ h ìn h d ạn g trê n form B ạn có th ể học class khác bằn g việc th a m khảo tà i liệu Visual Studio Heip Cho dù b n tạ o ản h chụp m àn h ìn h đơn g iản xây dựng vẽ phức tạ p , điều quan trọ n g phải có th ể k ế t x u ất nhiều h ình d ạn g hình học chuẩn tro n g chương trìn h B ảng 15.1 liệ t kê m ột số h ìn h dạng vẽ phương thức m b ạn sử dụng tro n g class System D raw ing.G raphics để tạo chúng Bảng 15.1 sử dụng hình dạng phương ỉhứ c class System D raw ing G raphics H ìn h d n g P h n g th ứ c M ô tả Đường (Line) DrawLìne Đường đơn giản nól hai điểm H ình chữ n h ậ t (Rectangle) DrawRectangle H ìn h chử n h ậ t h in h vuông nối bôn điểm Cung (Arc) DrawArc Đường cong nôl h điểm (một phần m ột hình elip) H ình tròn/elip (Circle/Ellipse) DrawEllipsft H ìn h d n g elip bao quanh hình chữ nhật H ình đa giác (Polygon) DrawPolygon H ình dạng phức tạp có sô' điểm cạnh khả biến (được lưu trữ mảng), Đường cong (Curve) DrawCurve Một đường cong qua số điểm khả biến (được lưu trữ mảng); đường cong phức tạp dược gọi spline có th ể vẽ phương thức Các spline Bézier DrawBezier Một đường cong vẽ việc sử dụng bôn điểm (Các điểm hai ba điểm "điều khiển") C h ự d n g 15: Thêm đố họa c c hiệu ứng hoạt hình Ngoài phương thức trước tạo h ìn h dạng rỗng h ìn h dạng "không dược tô đầy" có m ột số phương thức để vẽ h ìn h d ạn g tô đầy màu N hững phương thức n ày có m ột tiền tố "FiH" ch ẳn g h ạn PillR ectangle, FillElIipse PillPolygon K h i b n s d ụ n g m ộ t p h n g th đ c đổ h ọ a t r o n g c la s s System Dravving.Graphics, b ạn cần tạo m ột đô'i tượng G rap h ics tro n g m ã để đại diện cho class m ột đô'i tượng P en B rush để biểu th ị thuộc tín h h ìn h dạng m b ạn muôn vẽ chẳng h n n h bề d ầy n é t {line w idth) m àu tô (fiil color) Đô'i tượng P en chuyển dạng m ột tro n g đối sô' đến phương thức không tô đ ầy b ằn g màu Đối tượng B rush chuyển dạng m ột dối số k h i m ột m àu tô mong muốn Ví dụ, lệ n h gọi sau đến phương thức D raw Line sử đụng m ột đôi tượng P en bôn giá trị sô' nguyên để vẽ m ột đường m àu đỏ b ắ t đầu pixel (20, 30) k ế t thúc tạ i pixel {100, 80) Đối tượng G rap h ics khai báo b ằng việc sử dụng tê n G raphicsPun đối tượng P e n k h báo b ằng việc sử dụng tê n PenColor Dim GraphicsPun As Graphics Dim PenColor As New Pen(Color.Red) GraphicsPun = Me.CreateGraphics GraphicsFun.DrawLine(PenCo!or, 20, 30, 100, 80) Cú p háp cho phương thức DrawLine th ì quan trọ n g ng ý b a d ò n g t r ê n n ố b ắ t buộc đ ể sử d ụ n g tr o n g p h n g th ứ c Systcm Dravving.Graphics B ạn phải tạo biến để đ ại d iện cho đối tượng G raphics Pen, biến G raphics cần in s ta n tia te (tạo sao) việc sử dụng phương thức C reateG raphics tro n g form Windows, Chú ý rằ n g nam espace System D raw ing.G raphics tự động đưa vào project - b ạn không cần đưa vào m ột câu lện h Im ports tro n g m ã để tham chiếu class Sử dụng kiện Paínt Form Nếu b ạn te s t phương thức D raw Line trước tro n g m ột chương trìn h , bạn p h ải ý rằ n g đường m b ạn dã tạo kéo dài ổn đ ịn h tr ê n form miễn khác che phủ Nếu m ột hộp thoại tạ m th i m d trê n form che phủ dường, đường không n h ìn th ấ y nữ a k h i to àn form xuất lại Đường biến m ấ t b ạn thu nhỏ tố i th iểu (minimize) cửa sổ form sau phóng to (maximize) lại Để giải khuyết C h n g 15: Thèm đồ họa hiệu ứng hoạt hình _ 131 điểm này, b n cần đ ặ t m ã đồ họa thủ tục k iện P a in t form cho lầ n form làm (refresh), h ìn h đồ h ọ a vẽ lại T rong tậ p sau đây, b ạn chọn ba h ìn h d ạn g trê n m ộ t form việc sữ dụng th ủ tục k iện P a in t form Các h ìn h dạng m b ạn vẽ tiế p tục Ổn đ ịn h form che k h u ất thu nhỏ tối th iểu T o c c h ìn h d n g đ n g , c c h ìn h c h ữ n h ậ t vá e llip Khởi động V is u a l S tu d io tạo m ột project W indows Form s Ap­ plicatio n có tê n M y D w S h a p e s Đ ịnh lại kích cỡ íorm cho dài rộ n g kích cỡ mặc đ ịn h B ạn cần th êm m ột chút khoảng trố n g để tạo h ìn h dạng đồ họa Tuy n h iên b ạn không sử dụng b ấ t kỳ Control Toolbox Bạn tạo h ìn h d ạn g b ằn g việc đ ặ t m ã chưcmg trìn h tro n g th ủ tục k iện F o rm l_ P a in t form Xác lậ p thuộc tín h T ext F o rm l san g ”D raw Shapes" N h ấp n ú t V iew C o d e tro n g Solutiion E xplorer để h iể n thị Code E d ito r p h ầ n trê n C o d e E d ito r , b ên tab Korm l.vb, n h ấ p m ũi tê n C la ss N a m e sau n h âp F o r m l E v e n ts F o rm l E vents d an h sách kiện tro n g project k ế t hợp với đô'i tượng F o rm l N hấp mũi tê n M e th o d N a m e sau n h ấp event P a in t Thủ tục k iện F o rm l_ P a in t xuất h iện tro n g Code Editor Thủ tục kiện n ày nơi b ạn đ ặ t m ả m ch ế độ thực th i k h i Visual B asic m fonn B ên tro n g thủ tục kiện F o rm l_ P ain t, gõ n h ậ p m ã chương trìn h sau đây: ‘Prepare GraphicsPur variable for graphics calls Dim GraphicsPun As Graphics GraphicsPun = Me.CreateGraphics 'Use a red pen color to draw a line and an ellipse Dim PenColor As New Pen(Color.Red) 132 C h n g 15: Thêm đồ họa hiệu ửng h o ạt hình 6raphicsFun.DrawLine(PenColor 20, 30, 100, 80) GraphicsFun.DrawEllipse(PenColor, 10, 120, 200, 160) 'Use a green brush color to create a tílíed rectangle Dim BrushColor As New SolidBmsh(Color,6reen) 6raphicsFun.FillRectangle(BrushCoior, 150, 10, 250, 100) 'Create a blue C a rd in a l spline curve w ith tour points Dim PointsO As Point = {New Point(358, 280), _ New Point{300, 320), New Point(275, 5 ),-New Point(350, 180)1 For tension As Single = To 2,5 step 0.5 GraphicsFun.DrawCurve(Pens.DođgerBlue, Points, tension) Next Thủ tục kiện mẫu n ày vẽ bôn h ìn h dạng đồ họa trê n form: đường m àu đỏ, m ột ellip màu đỏ m ột h ìn h chữ n h ậ t tô m^ii x an h m ột spline màu x an h dương, m ột đường cong phức tạ p gồm n ăm đường- Để b ậ t chức n ăn g lập trìn h đồ họa, thường trìn h k h a i báo m ột b iến có tê n G raphicsPun tro n g m ã sử dụng phương thức C reateG rap h ics để kích h o t in s ta n tia te biến Biến PenC olor có kiểu P en sử dụng đề xác lập màu vẽ đường ellip biến BrushColor có kiểu SolidBrush sử dụng để xác lập m àu tô tro n g h ìn h chữ n h ật Rõ ràn g ví dụ n y chí vấn dề p h ần th viện đồ họa - có nhiều h ìn h dạng, màu biến th ể k hác m bạn có th ể tạo việc sử dụng phương thức tro n g class System D raw ing.G raphics Thủ thuật Chương trìn h Dravv Shapes hoàn c h ỉn h đ ợ c đ ẩ t tro n g fo d e r C :\V b10sbs\C hap15\D raw Shapes N h ấp n ú t S t a r t D e b u g g ỉn g trê n th a n h công cụ S tan d ard để chạy chương trìn h Visual Basic tả i form thực th i k iệ n P a in t form F orm trô n g tương tự sau: C h n g 15: T h ê m đ ổ h ọ a v c c h iệ u ứng h o t hình 133 10 Thủ nhỏ thiểu form sau phục hồi lại Sự kiện P a in t form thực th i lại h ìn h d ạn g đồ họa làm trê n form 11 N hấp n ú t C lo se để k ế t thúc chương trìn h 12 N hấp n ú t S a v e A ll trê n th a n h công cụ S tan d ard để lưu project, sau dó xác đ ịnh folder C :\V b l0 s b s \C h a p l5 làm vỊ trí Bây b ạn sẵ n sàn g đến m ột số hiệu ứng h o t h ìn h đơn giản Thêm hoạt hình vào chương trình H iển th ị ản h bitm ap h ìn h ản h vẽ tă n g th êm sức h ấ p d ần cho m ột chương trìn h nhiừig với n h lập trìn h , chúa tể hiệu ứng đồ họa h o t h ình H oạt h ìn h (anim ation) việc mô chuyển động tạo r a b ằn g việc h iể n th ị n h a n h m ột lo t ả n h liên quan trê n m àn hình H oạt h ìn h th ậ t đòi hỏi di chuyến b ằn g lập trìn h thường đòi hỏi th a y đổi kích cỡ h ìn h dạng ả n h tro n g tiế n trìn h T rong p h ần n ày b ạn học cách th êm h o t h ìn h đơn g iản vào chương trìn h B ạn sè học cách cập n h ậ t thuộc tín h Top Left m ột pitu re box, điều k h iể n tôc dộ h o ạt h ìn h việc sử dụng m ột đối tượng tim e r cảm n h ậ n mép cửa sổ form D i chuyển đối tượng form Trong Visual Basic 2010, m ột nhóm thuộc tín h đặc b iệt gọi Left, Top Location phương thức SetBounds cho phép b n di chuyển đối tượng tro n g hệ tọ a độ Bảng 15.2 mô tả từ khóa n ày chúng hỗ trợ hiệu ứng b ản ngư th ế Bảng 15.2 C c thuộc tínỉi phương thức hữu dụng để di ctiuyển dối lượng Uẽn m ột form Từ khóa Mô tả Left Thuộc tính có th ể sử dụng để di chuyển đối tượng theo chiểu ngang (trái phải) Top Thuộc tính có th ể sử dụng để di chuyển đối tượng theo chiều dọc (lên xuống) Location Thuộc tín h có th ể sử dụng để di chuyển đối tượng sang vị trí xác định C h d n g 15: T h ẽ m đ ổ h ọ a v ả c c h iệ u ứng h o t hinh SetBounds Phương thức xác lập biên đối tượng sang vị trí kích cỡ xác định T rong p h ần sau b ạn thử nghiệm với việc sử dụng thuộc tín h Left, Top Location để di chuyển đối tượng Đ ể di chuyển m ột đối tượng theo m ột hướng n ằ m n g an g , sử dụng thuộc tín h Left, thuộc tín h n ày sử dụng cú pháp: Object.Left = horizontal tro n g object tê n đô'i tượng trê n form m b n m uôn di chuyển v h o riz o n ta l trụ c n ằ m n g an g m ới trụ c X, tọ a độ m é p tr i đô'i tượng đo b ằn g pixel Ví dụ câu lệ n h chương tr ìn h sau di chuyển m ột đối tượng picture box san g m ột vị tr í n ằ m b ên p h ải mép cửa sổ tr i 300 pixel PictureBox1.Left = 300 T rong hộp th o ại O p e n , định hướng san g folder C :\V b l0 s b s \C h a p l5 T rong hộp d an h sách F ile s O f T y p e , chọn A ll F ile Chọn Sun.ico sau dó n h ấp o p e n N hấp O K tro n g hộp thoại S e le c t R e s o u r c e Biểu tượng m ặt trời xuất h iện tro n g P ic tu r e B o x 10 Xác lập thuộc tín h SizeMode trê n PictureB ox sa n g S trechlm age 11 N h ấp đôi control T im e r trê n tab C om ponents Toolbox để th êm vào com ponent tray (khay th n h p h ầ n ) b ên form Đối tượng tim er cấu điều k h iển tốc độ h o t h ìn h H ãy nhớ lại rằ n g b ản th â n đô'i tượng tim er không n h ìn th ấ y trê n form, hiển th ị b ên form tro n g com ponent tray dành riên g cho đôl tượng không n h ìn th ấ y 12 Xác lập thuộc tín h sau dây cho dối tượng b u tto n , tim er form Đ ối tưỢng T h u ộ c tín h Xác lậ p B uttonl Text "Move Up” Button2 Text "Move Down" T im erl Interval 75 Form l Text "Basic Animation" 135 C h n g 15: T h ê m đ họa hiệu ứng hoạt hinh Sau b ạn xác lập thuộc tín h này, form trô n g tương tự sau: a o ' kéÍMỈnỉ kÒA • Mkf«iị HovrOiMn 13 N h ấp đôi n ú t M o v e U p để biên tậ p th ủ tục kiện Thủ tục k iệ n B uttonl_C lick xuất h iện tro n g Code Editor 14 Gõ n h ậ p m ã chương trìn h sau đây: GoingUp = True T im e rl.E na b led = True Thủ tục k iện đơn giản xác lập biến GoingUp sang True bật đô'i tượng tim er Mã chương trìn h th ậ t để di chuyển đối tượng picture box cảm n h ậ n hướng lưu trữ tro n g th ủ tục kiện T im erl_T ick Bây biến GoingUp có m ột đường gạch b ạn dă chưa khai báo 15 G ần p h ầ n trê n m ã chương trìn h form (bên câu lệ n h Public C lass F o rm l), gõ n h ập p h ần k h báo biến sau đây; Dim GoingUp As Bũolean 'GoingUp stores current direction P h ầ n k h a i báo biến sau làm cho G oingư p có sẵn cho tấ t thủ tục k iệ n tro n g form, dường gạch gồ ghề tro n g thủ tục k iện B u tto n l_ C lick loại bỏ M ột biến Boolean sử dụng có h hướng di chuyển tro n g chưcmg trìn h n ày - lên xuông 136 C h n g 15: Thêm đổ họa v h iê u ứng hoat hình 16 H iển th ị lại form, n h ấp đôi n ú t M ove D o w n sau gõ n hập m ã chương trìn h sau tro n g thủ tục k iệ n Button2_Click; GolngUp = False TimeM.Enabled = True Thường trìn h n ày tương tự thủ tục k iệ n B u tto n l_ C lick ngoại trừ th a y đổi hướng từ lên sang xuống 17 H iển th ị lại form, n hấp đôi đối tượng T i m e r l sau gõ nh ập m ă chương trìn h sau tro n g th ủ tục k iệ n T im erl_T ick: lf GoingUp = True Then ‘ move picture box toward the top lf P ictureB oxU op > 10 Then PictureBoxl.Location = New Point _ (PictureBoxl.Location.X - , _ PictureBoxl.Location.Y - 10) End lf Else ‘move picture box toward the bottom lf P ictureB oxU op < (Me.Size,Height - 75) Then P ictureB oxH ocation = New Point _ (P ictureB oxllũcatỉon.X + 10, _ PictureBoxl.Location.Y + 10) End lf End It Do m iễn tim er b ật, cấu trúc d ịn h If Then n ày thực th i cách 75 mili giây Dòng tro n g th ủ tục kiểm tr a xem biến Boolean GoingUp có xác lập san g T rue h ay k hông biểu th ị rằ n g biểu tượng dang di chuyển tiế n đ ến p h ần tr ê n form N ếu xác lập sang True, thủ tục di chuyển đối tượng picture box san g m ột vị trí tương đối gần với m ép đ ỉn h m ép đáy form 10 pixel N ếu b iến GoingUp h iện xác lập san g F alse, cấu trú c đ ịn h di chuyển biểu tượng xuống th ay vào T rong trường hợp đối tượng picture box di chuyển m ép form p h át C h n g 15: T h êm đổ họa hiệu ủng hoại hình 137 Chiều cao form có th ể định b ằn g việc sử dụng thuộc tín h M e.Size.Height Trong ví dụ này, đối tượng Me đại diện cho form (Porm l) N hư b ạn th ấ y b ạn chạy chương trìn h , chuyển n ày cho h o t h ìn h biểu tượng m ột chất lượng dịch chuyển ổn định Để làm cho biểu tượng di chuyển n h an h hơn, b n giảm xác lập In terv al cho đô'i tượng tim er Để làm cho biểu tượng di chuyển chậm hơn, bạn tă n g xác lập Interval C h y c h n g t r ìn h M o v in g I c o n • • • • • • • Thủ thuật Chưcrtig trìn h M oving Icon đặt íolder C :\V b10sbs\C hap15\M oving Icon N hấp n ú t S t a r t D e b u g g ỉn g để chạy chương trìn h Chưcmg trìn h Moving Icon chạy tro n g IDE N hấp n ú t M o v e U p Đối tượng picture box di chuyển lên form trê n m ột đường chéo biểu th ị ỗ đây; Sau m ột vài giây, n ú t dừng lại m ép p h ía tr ê n form N ế u b ạn đ ặ t đối iượng picturc box g ó c p h ả i p h ía củ a íbrtn n h hướng dẫn d bước ba củ a tập trưổc, bạn th ây m ộ l thứ tương tự n h ả n h chụp m àn hình T u y nh iên , bạn đặt đ ố i tượng pìcture box m ộ t vị trí k h c tạo m ộ t fo rm nhồ C h n g 15: Thêm dổ họa hiệu ứng h o ạt hình hơn, ả n h có th ể x ê dịch m n hình bạn n h ấ p M o v e U p M ọ v e D ọ w n ^ ^ có t h ê ^ h o biết íại hay không? N hấp n ú t M o v e D o w n P icture box di chuyển trở lại xuống đến góc p h ải p h ía m àn h ìn h N hấp lại h n ú t m ộ t vài lần suy ngẫm hiệu ứng h o ạt hình, Chú ý rằ n g b ạn không cần đợi m ột hiệu ứng h o t h ìn h k ế t thúc trước k h i b ạn n h ấp n ú t k ế tiếp Thủ tục kiệnT im erl_T ick sử dụng biến GoingUp tức th ì để quản lý yêu cầu hướng di chuyển, picture box h o àn t ấ t việc theo m ột hướng h ay k h ông th ì không quan trọng Xem x ét hiệu ứng n ày tro n g giây t h ãy tưởng tượng làm th ế b ạn có th ể sử dụng m ột loại logic tương tự để xây dựng gam e video Visual Basic riên g m ình B ạn có th ể tă n g giảm tốc độ h o t h ìn h theo điều k iện cụ th ể "va chạm" trê n m àn h ìn h b ạn có th ể buộc đối tượng h o t h ìn h di chuyển theo hưứng khác B ạn có th ể th a y đổi ảnh h iể n th ị đối tượng picture box dựa vào nơi biểu tượng nằm trê n m n h ìn h điều k iện m gặp phải Khi b ạn chạy xong chương trìn h , n h âp n ú t C ỉo se trê n form để đừng trìn h diễn N h ấ p N ú t S a v e AU để lưu p ro ject sau xác đ ịn h folder C :\V b lO s b s \C h a p l5 m vị trí Mở rộng co rút đối tượng chương trình chạy Ngoài việc tr ì m ột thuộc tín h Top m ột thuộc tín h Left, Visual Basic trì m ột thuộc tín h H eight m ột thuộc tín h W idth cho hầu h ế t đối tượng trê n m ột form B ạn có th ể sử dụng thuộc tín h n ày cách th ô n g m inh để mở rộng co rú t đối tượng tro n g k h i chương trìn h chạy Bài tậ p sau hướng đ ẫn b ạn cách làm điều M r ộ n g m ộ t p ic t u r e b o x v o t h i g ia n ch ạy T rên m enu F ile , n h ấp lện h C lo se P r o je c t Tạo m ột project W ín d o w s F o rm s A p p lic a tio n có tê n M y Z oo m In C h d n g 15: Thêm đổ họa hiệu ứng hoạt hinh 139 H iển th ị form, n h ấp controỉ P ic tu r e B o x tro n g Toolbox sau vẽ đối tượng picture box nhỏ gần góc trá i p h ía trê n form 4, Xác lập thuộc tín h sau cho picture box form Khi bạn xác lập thuộc tín h cho picture box, ý giá trị h n h tro n g cac giá trị H eight W idth b ên tro n g thuộc tín h Size, (B ạn có th ể xác lập thuộc tín h n ày vào thời gian th iế t kê") Vì m ột ả n h từ không gian, sử dụng m ột n ền đen cho form m ột ản h JP E G tro n g H thuộc tín h form BackColor Backgroundlm age giới thiệu lần đầu tiê n tro n g chương Đối tượng Thuộc tính Xác lập PictureBoxl Image "C:\Vbl0sbs\Chapl5\Earth.jpg" SizeMode Forml Stretchlmage ' Approaching Earth" Text BackColor Black Backgro undl mage 'C :\V bl0sbs\C hapl5\Spacejpg'' Form trô n g tương tự n h sau: Z o o m h ỉda T«q{9, E8SSSIIÌFo«mlA4ỉ(DoiịnỊ ^ »-ì-®ÍỂằfl N hấp đôi đôl tượng P ic tu r e B o x l trê n form Thủ tục k iện PictureBoxl_Click xuất h iện tro n g Code Editor Gõ n h ậ p m ã ch n g t r ì n h sau đ â y tr o n g th ủ tụ c k iệ n PictureB oxl_C lick: P ictureB oxlH eight = PicíureBoxl.Height + 15 picíureBoxl.VVidth = PictureBox1.Wicỉíh + 15 140 C h ó n g 15; Thẽm họa v h iệ u ứng hoạt hình H dòng n ày tă n g chiều cao chiều rộ n g biểu tượng tr i đ ất lên 15 pixel lầ n người dùng n h ấp picture box N ếu b ạn mở rộng tr í tưởng tượng b ạn lên m ột chút, việc q u an s t hiệu ứng làm cho b ạn có cảm giác n h bạn tiến gần đ ến tr i đ ấ t tro n g m ột tà u vũ trụ N h p n iít S a v e A ll v sa u đớ lưu p r o j e c t t r o n g ío ld e r C :\V b l0 s b s \C h a p l5 Thủ thuật C h n g tr ì n h Z o om in h o n C :\V b10sbs\C hap15\Zoom in c h ỉn h đăt tr o n g ío ld e r N h ấp n ú t s t a r t D e b u g g ỉn g để chạy chương trìn h Ả nh tr i đ ấ t xuất h iện riên g lẻ trê n form Các xuất h iện n ền b n tạ o ílle space.jpg ỉên trê n form với thuộc tín h Backlm age B ất kỳ vùng không che phủ thuộc tín h Backlm age trê n fo n n có m àu đen b ạn đă sử dụng thuộc tín h BackColor để m ó p h ỏ n g buồn bã p h ản g lặn g khoảng không vũ trụ 10 N h ấp ả n h tr i đ ấ t m ột vài lầ n để mở rộ n g tr ê n m àn hình Sau n h âp 10 11 lần, m àn h ìn h trô n g tương tự sau: Bởi ả n h có độ p h ân giải tương đối th ấp , cuối trở nên mờ b n phóng đại nhiều B ạn có th ể giải giới h ạn n ày b ằn g việc lưu ản h nhỏ với m ột độ p h ân giải cao Tuy n h iê n đám m ây m ỏng trê n tr i đ ấ t giảm n h ẹ vấn đề m n h t tro n g ví dụ (Trong b ản in, ả n h n ày trô n g không C h n g 15 : T h èm đổ họa hiệu ứng hoạt hình _ đẹp cho h ãy chắn th trê n m áy tín h xem ản h b ằn g màu) H K hi b ạn g ần đủ th iế t lập m ột quỹ đạo chuẩn, n h ấp n ú t Close để th o t chương trìn h Chương trìn h dừng lại môi trường p h t triể n quay trở lại Tiến xa thêm bướciThay đổi độ suốt form T hích m ột hiệu ứng đặc b iệt sau cùng? Với GDI+, b n có th ể làm th ứ khó th ậ m chí không th ể làm tro n g p h iên b ản trước Visual Basic Ví dụ b n có th ể làm cho m ột form tro n g suô't m ộ t p h ần để b n có th ể th ấ y xuyên qua Ví dụ, bạn có th ể th iế t k ế m ột chương trin h h iể n th ị ả n h bao gồm m ột form riêng b iệt có tiêu chuẩn k hác để xử lý ảnh B ạn có th ể làm cho form tùy chọn trở n ên tro n g suốt m ột p h ần cho người dùng có th ể th â y ản h b ên tro n g tru y cập tùy chọn T rong tậ p b ạn thay đổi độ tro n g suốt m ột form việc th a y đổi giá trị thuộc tín h opacity X c lậ p t h u ộ c t ín h O p a c it y I T rê n m enu F ile , n h ấp lện h C lo se P r o je c t Tạo m ộ t project W in d o w s F o rm s A p p lic a tio n có tê n M y T r a n s p a r e n t F o rm I liể n th ị form , n h ấ p control D utton tro n g Toolbox v sau dó vẽ hai n ú t tr ê n form Xác lập thuộc tín h sau cho h n ú t form: Đ ố i tư ợ n g T h u ộ c tín h X ác lậ p B uttonl Text "Set opacity" Button2 Text "Restore" ButtoDl T ext "Transparent Form" N h ấp đôi n ú t S e t o p a c i t y trê n form Gõ n h ập m ã chương trìn h sau th ủ tục k iện Buttonl_Click; Me.Opacity = 0,75 142 C h n g 15: Thêm đồ họa v h iệ u ứng h o t hình o p a c ity xác đ ịnh dạng m ột tỉ lệ p h ầ n tră m Do có m ột dãy đến Dòng xác lập o p acity F o rm l (Me) sa n g 75 p h ần tràm H iển th ị lại form, n h âp đôi n ú t Restore sau gõ n h ập m â sau tro n g th ủ tục kiện Button2_Click: Me.Opacity = Dòng n ày phục hồi độ mờ đục trở lại 100 p h ầ n trăm Nhẩ^p n ú t S a v e A ll v ầ s a u đd lưu p r o j e c t tr o n g ío ld eT C :\V b lO sb s\C h a p l5 • • • • • • • Thủ thuật C hư ơng tr ì n h T n s p a re n t Form h o n c h ỉn h đ ợ c đ ẩ t tro n g ío ld e r C :\v b Osbs\Chap1 S\Transparent Form N h ấp n ú t S t a r t D e b u g g ỉn g để chạy chương trìn h 10 N h âp n ú t S e t O p a c ity Chú ý b ạn có th ể th ấ y xuyên qua form n h t h ế n h m i n h họ a đây: Fomtv^|C;;5ní’,ì 'Ì^ỊDctliriiÌoraỊ Ĩiatìifi4rentfợfifi í > '- lv te 'yứ> e i ^ t t e n l C ii ^ '« C p A < U v • V ^ PtrmLvb - Snd Vjb ỉ i■ ' ■ ; ‘"'Ivaicc V O p a c i t y • J St‘d iv b ẽ'>d C i a s s H' iy,' A4)t3i« ỉiĩl 11 N h ấp n ú t R e s to r e Hiệu ứng tro n g suốt loại bỏ C h n g 15: T h ém đồ họa hiệu ứng hoạt hình 143 12 K hi b n te s t xong hiệu ứng suốt, n h ấ p n ú t Close để th o t chương trin h Chương trìn h dừng lại môi trường p h t triể n quay trớ lại, Tham khảo nhanh chưởng 15 Để Thực h iện đ iều sa u Tạo đường hình dạng trê n form Sử dụng phương thức namespace System.Drawiag Graphics Ví dụ, câu lệnh chương trìn h sau dây vẽ elip màu đò form: D im G p h ic s P u n A s G p h ic s G p h ỉc s P u n - M e C re a te G p h íc s D im P en C o lo r A s W ew P e n {S y s le m D w ín g C o lo r,R e d ) G p tiic s F u n D w E llip s e (P e n C o lo r , , 0 , 160) Tạo đường hình dạng vó'n trì form lần vẽ lại cửa ộ Đặt phương thức đồ họa thủ tục kiện P aint cho form SO Di chuyển m ột đối tượng m ột form Định vị lại đôì tượng việc sử dụng thuộc tín h Location, từ khóa New cấu trúc Point Ví dụ: P lc tu r e B o x l.L o c a tlo n s N e w P o ln t(3 0 , 0 ) T ạo h o t h ìn h m ộ t dôi tượng Sử dụng thủ tục kiện tim er để chĩnh sửa thuộc tín h Left, Top hoạc Location cho đối tượng form Thuộc tính Interval tim er điêu khiển tôc độ hoạt hình Md rộng co rút đối tương vào thời gian chạy Width đối tượng Xác lập màu (background) trẽn Thay đổi thuộc tín h Height form BackColor form T hay Xác lập ảnh form đổi th u ộ c tín h T h a y đ ố i th u ộ c tín h Backgroundlmage củaíorm Thay đổi độ suôt m ột form Thay đổi thuộc tín h Opacity form [...]... '' ■ 24 1 26 05 4GỊ9 10 Ổ3 Ú 17 14 ál isea2 15 7Ũ3 1 629 7 16 383 18 753 22 S29 28 24S 28 S85 [ fiÌà itiy Ị Pỉoợress MHH S o ilA tta y m f 500 M ã tạo ra k ế t quả n ày là th ủ tục sự k iện B utton2_C lick chứa các câu lệ n h chương trìn h sau đây: ‘Sort the array using the Array.Sort method and display Private Sub Button2_Click{By\/al sender As System.Obịect, _ ByVal e As System.EventArgs) Handles Button2.Click... phân loại; các phần lử mảng chỉ nằm theo thứ tự giảm dần bởi vì RandArray đâ đưỢc phân loại Irước đó theo thứ tự lăng dẩn hỏi phương thức Array.Sort (Để kiểm tra kỹ hơn danh sách này sử ^ n g các thanh cuộn hoặc các phím mũi tên) M àn h ìn h trô n g tương tự như sau: A rrs y C l i i ỉ ẳortV 393 414 9967 71 9937 31 9 925 72 9 314 02 989 428 96^ 93 425 3 9S404S 980003 97382S 3795 31 979077 C h ư d n g 11 : s ử d ụ n... k h i tiế n tr ìn h được hoàn tất 705547 533 424 573 518 28 95 62 774740 14 017 760 723 814 490 7 fm v 453 52 414 0 32 8C2 613 7S0430 r rểABạy ỉ Ị^_SofỊAỉí4ỵ ' ị_Rev»s6 j M â tạo ra k ế t quả n à y là thủ tục sự kiện B u tto n l_ C lick chứa các câu lện h chương tr ìn h sau đây: ‘ Flll tlie array w ỉth ranđom numbers and đỉsplay in text box Privaíe Sưb Button1_Click{ByVal sender As System.Obịect ByVaí e As System... cho m ảng và th ê m dữ liệu vào nó bằng việc sử dụng m ã sau đây: ReDim myCube (25 , 25 , 25 ) myCube {10 , 1 , 1 ) = 15 0.46 m à sau đó b ạn có th ể mở rộng kích cỡ của chiều th ứ ba trong m ảng (trong k h i giũ gìn nội dung cùa m ảng) bằng việc sử dụng cú pháp sau đây: ReDim Preserve myCube (25 , 25 , 50) Tuy n h iên , tro n g ví dụ này, chỉ chiều th ứ b a mới có th ể dược mở rộng chiều th ứ n h ấ t và chiều... th à n h "Dynamic Array", 9 Lưu các th a y đổi sang đĩa • •••••• Thủ thuật P ro je c t D y n a m ic A rra y h o à n C :\V b 1 0 s b s \C h a p l\D y n a m ic Array c h ỉn h được đát 10 N h ấp n ú t s t a r t D e b u g g ín g để chạy chương trìn h tro n g ío ld e r 24 C h ư ờ n g 11 : sử d ụ n g c á c m ả n g đ ể q u ả n lý d ư liệ u s ố v à c h u ỗ i 11 N h ấp n ú t E n t e r T e m p s 12 Gõ n h ập... m ột hàm InputBox, để h iển th ị ngày h iện h àn h b ằn g việc sử dụng bộ đếm vòng lặp For 11 H iển th ị lại form, và sau đó n h ấ p đôi n ú t D isplay T em ps (Button2) C h ư ớ n g 11 : S ử dụng các m ảng để quản lý dữ liệu sô' v à chuỗi 19 12 Gõ n h ập các câu lệnh sau đây trong thủ tục sự k iện Button2_Click; Dim Result As string Dim i As Short Dim Total As Single = 0 Result = "High temperatures... các tậ p hợp đối tượng được phơi bày bởi M icrosoft Visual Studio 20 10 và các ứng dụng W indows thông dụng T 30 C h ư ơ n g 12 : Làm v iệ c v ớ i c á c tậ p hợp Làm việc với các tập hợp đối tượng T rong p h ần n ày b ạn sẽ học về các tậ p hợp (collection), m ộ t cơ cấu m ạn h để điều k h iển đối tượng và dữ liệu khác trong m ột chương tr ìn h Visual Basic M icrosoft.N ET Fram ew ork duy trì m ột số tậ... m ảng và th ê m dữ liệu vào nó bằng việc sử dụng m ã tương tự hư sau: ReDim Philosophers (20 0) Philosophers (20 0) = 'David Probsr Bạn có th ể mở rộng kích cỡ của m ảng P hilosophers th à n h 3 01 p h ần tử (0-300), và giữ gìn nội dung h iện có bằng việc sử dụng cú p h áp sau đây: DeDim Preserve Philosophers(300) 2 6 _ C h ư d n g 1 1 : S ử d ụ n g các m ả n g đ ể q u ằ n lý d ữ liệ u s6' và c h... d n g 1 1 : S ử d ụ n g c á c m ả n g đ ể q u ầ n lý d ữ liệ u s ổ v à ch u ò i _ 15 không được xác định, Visual B asic đánh giá các p h ần tử m ảng và quyết định rằn g tro n g trường hợp này kiểu Object th ì th íc h hợp n h ất Dim investmentsO = (5000, 20 350, 499.99, 10 000} Nếu xác lập Option Infer của trình biên dịch được xác lập sang... inimum, Maximum, và Value và những thuộc tín h này thường được xử lý sử dụng m ã chương trìn h (Các thuộc tín h progress C h ư ơ n g 11 : s ủ d ụ n g c á c m ảng để quản lý dữ liệu s ố và chu ỗi 29 b a r khác, m à b ạ n có th ể kiểm tr a tro n g cửa sổ P roperties diều khiển diện m ạo và chức n ăn g của th a n h tiến độ) B ạn có th ể kiểm tr a các thuộc tín h M inim um và Maximum được xấc lập n h ư th ... 'Ún' t ' '' ■ 24 1 26 05 4GỊ9 10 Ổ3 Ú 17 14 ál isea2 15 7Ũ3 1 629 7 16 383 18 753 22 S29 28 24S 28 S85 [ fiÌà itiy Ị Pỉoợress MHH S o ilA tta y m f 500 M ã tạo k ế t n ày th ủ tục k iện B utton2_C lick chứa... ẳortV 393 414 9967 71 9937 31 9 925 72 9 314 02 989 428 96^ 93 425 3 9S404S 980003 97382S 3795 31 979077 C h d n g 11 : s d ụ n g c c m n g để q u n lý liệ u s ò v c h u ỗ i _ w M ã tạo k ế t thủ tục... isu a l -2 1 , M icrosoít V is u a l c # -2 1 , M icrosoữ V isu a l W eb D ev elo p er 20 10 , v n h i ề u s ả n p h ẩ m k h ác T c g iả C h n g 11 : S dụng m ảng đ ể quản lý liệu s ố chuỗi PHẦN (II

Ngày đăng: 04/12/2015, 00:31

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN