« Home « Kết quả tìm kiếm

Visual Studio


Tóm tắt Xem thử

- Visual Studio.NET Visual Studio.NET.
- Để chạy VisualStudio.NET bạn cần phải Set Time của Windows lại trước cuối tháng 7,2001, eg: 1-July-2001.Visual Studio.NET Beta 2 hiện nay có Service Pak 2, nó cho phép ta dùng Visual Studio.NET Beta 2 sau ngày 31- July-2001, tức là không có time-bomb.
- Nếu VS.NET version của bạn bị giới hạn về thời gian nói trên, từ trong VS.NET bạn có thể download Service Pak 2 để cài đặt bằng cách dùng IDE Menu Command Help | Check for Updates.Có hai cách để bắt đầu một project mới trong VS.NET.
- Bạn có thể chọn VB.NET, C# hay VC++.NET project.
- Trong tương lai chúng ta sẽ chỉ nhắm vào VB.NET và C# thôi.
- Ngoài ra SetUp and Deployment bây giờ là một loại project nằm trong IDE của Visual Studio.NET, ta không cần phải chạy riêng chương trình Package and Deployment bên ngoài VB6 IDE như trước đây.Solution trong VS.NET có thể chứa hơn một Project và bao gồm tất cả những files bạn liệt ra là cần thiết cho Solution.
- Nếu một trong những files ấy bị thay đổi bên ngoài VS.NET, khi VS.NET khám phá ra nó sẽ load.
- vào trong VS.NET cho bạn nếu bạn đồng.
- Để mở một Solution/Project có sẵn, bạn có thể click link của tên project trên trang StartPage, hay dùng Menu command File | Open | Project , hay Menu Command File | Recent Projects..
- Visual Studio.NET IDE.
- Giao diện của VS.NET có những đặc điểm giống như Delphi và Visual InterDev ở chỗ code được generated tự động, Windows nằm chung thành Tab set hay float khắp nơi, và hổ trợ Solution rất thích hợp cho việc triển khai của cả đội.Toolbox bên trái chứa Controls cho Windows Forms, Web Forms, General Components, Data Components, HTML tags, XML Schema tools v.v.
- Bạn có thể click cây ghim cho nó nằm ngang và vertical Toolbox tab hiện ra bên trái.
- ra/rút vào) như dưới đây: Bạn có thể gọi hầu hết các Windows hiển thị bằng cách dùng Menu commands View, View | Other.
- Windows bên phải có thể float, nằm chồng lên nhau thành những Tabs trong một Window set hay nằm cạnh nhau vertically tiled.
- Bạn có thể để chồng hai Windows lại với nhau bằng cách nắm Tittle bar của một Window để chồng lên một Window khác.
- Khi bạn dùng menu command Build | Build để compile program, nếu có errors chúng sẽ được hiển thị trong Task List Window.
- error ấy trong code window.Trong hình dưới đây, ta cố ý comment out.
- Ngoài ra, để Debug bây giờ bạn có Output Window để in ra các messages mà trong VB6 bạn dùng Immediate Window.
- CStr(Count)để in ra trong Immediate Window, thì trong VB.NET bạn có thể viết:.
- Console.WriteLine("Count Count)để in ra trong Output Window.Dĩ nhiên bạn vẫn có thể tiếp tục dùng Immediate Window trong công tác Debug như trước đây trong VB6.Chưa hết, VS.NET còn cho bạn Command Window để ta có thể enter những VS.NET commands để manipulate IDE, xử lý macros, .v.vĐể hiển thị Window nầy bạn dùng menu command View | Other Windows | Command Window.
- Nếu ta enter một command như: File.AddNewProjectIDE sẽ hiển thị Add New Project dialog.VS.NET hổ trợ Macro để bạn có thể record và playback một chuổi công tác.Phương tiện Integrated Debugging cho ta Debug Menu, Call Stack Window, Breakpoints Window và Watch and Value Display Windows.Thường thường bạn sẽ Add Reference các .NET components.
- Nhưng bạn cũng có thể dùng ActiveX (có sẵn trong VB6) trong .NET application bằng cách Add Reference COM (click Tab COM trên Add Reference Dialog).
- Trong chương trình biểu diễn nầy, ta dùng giao diện hầu như hoàn toàn bằng chữ Việt.
- Ta có thể đánh chữ Việt (Unicode) cho Title Bar, Menu, TextBox, ListBox .v.v..
- trong .NET project đều được Saved với UTF-8 encoding.
- Bạn có thể Download source code của program demo nầy tại đây.Trong program Sở thú Saigon nầy ta có hai Listboxes.
- có thể drag tên các loại thú từ Listbox1 (bên trái) để drop vào Listbox2 (bên phải).
- Phía dưới là một Label dùng để hiển thị ngày giờ.
- Ngoài ra bạn cũng có thể dùng Main menu Item Đọc danh sách để Load data từ file animal.txt vào.
- Button bây giờ chẳng những có thể chứa hình mà còn cho bạn chọn vị trí.
- Bạn có thể Anchor một Button để nó dính vào một góc của form để khi form resizes thì Button chạy theo góc ấy của form.
- Trong lúc thiết kế ta có thể edit các List items của một Listbox bằng cách mở property Items Collection ra và Edit vào một.
- Trong .NET, các classes được chia ra thành nhiều nhóm như System.IO, System.XML, System.Data, System.Drawing ..v.v..Ngoài ra trong mỗi nhóm lại còn chia thành những nhóm con, cháu như.
- System.Windows.Forms, System.Windows.Collections, System.Windows.Diagnostics, .v.v..
- Reference các .NET components ấy ta có thể dùng chúng trong program nhưng vẫn phải biên một tên dài như System.IO.StreamReader để tránh lẫn lộn.
- Để có thể viết tên class gọn hơn ta dùng Imports như Imports System.IO, sau đó ta chỉ cần viết StreamReader là đủ.
- Công việc Imports nầy được gọi là importing Namespace (của System.IO)..
- Tương tự như thế, để có thể tiếp tục dùng các Functions Left, Right, Mid của VB6 trong .NET ta có thể thêm câu Imports VB6 = Microsoft.VisualBasic ở đầu chương trình.
- Sau đó ta có thể viết: AppPath = VB6.Left(AppPath, Pos)Nguyên program chúng ta tại đây là Public Class Form1.
- Form1 thừa kế standard form class của .NET Framework nên ta declare: Inherits System.Windows.Forms.Form Imports System.IO.
- Inherits System.Windows.Forms.Form Dim AppPath As String.
- Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem4.Click.
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load.
- System.Reflection.Assembly.GetExecutingAssembly.Locatio n.
- End Sub.
- Hãy xem cách viết một Event Handler như:Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem4.ClickKhác với VB6, nó có thêm các chữ Handles MenuItem4.Click ở phía cuối để nói handling event Click của MenuItem4.
- Mọi Event Handler đều được passed cho hai parameters: ByVal sender As System.Object và ByVal e As System.EventArgs.
- Khi edit code bạn có thể nhờ Intellisense của IDE giúp đỡ cho biết parameter e chứa những dữ kiện gì.Trong .NET, vấn đề handling event không phải là một điều bí hiểm như trong VB6.
- Khi một control có thể RaiseEvent thì chẳng những một, mà nhiều controls khác đều có thể Đăng ký (Register) để được Thông báo (Notified) khi Event ấy xãy ra.Control RaiseEvent được gọi là Publisher (Nhà Xuất Bản), các controls muốn handle event được gọi là Subcribers (những Người Đặt Mua dài hạn.
- Các EventHandlers nầy được gọi là Delegates (những Nhà Đại Diện lãnh trách nhiệm giải quyết một sự cố).Do đó, ta có thể dùng vỏn vẹn một EventHandler để handle nhiều Event khác nhau, xuất phát từ nhiều Objects.
- Cách nầy có điểm bất lợi là hôm nào bạn đi làm về trể thì cơm có thể bị thiêu vì trời nóng..
- Do đó, ngay cả trong lúc runtime (không phải khi design), để Register EventHandler Sub MenuItem4_Click với system để handle Event Click của MenuItem4 ta có thể execute code: AddHandler MenuItem4.Click, AddressOf MenuItem4_ClickLưu ý cách ta dùng control ToolTip1 để register Tooltip Text với Listbox1.
- Ta có thể dùng chỉ một control ToopTip1 để register nhiều Tooltip Texts với những controls khác nhau như TextBox, ComboBox .v.v..Bạn có thể thay thế hàng: AppPath = VB6.Left(AppPath, Pos) bằng AppPath = AppPath.SubString(0,Pos) Trong VB6, Visual components của một form được chứa dưới dạng Text diễn tả các controls rất dễ đọc ở ngay đầu form file, nhưng nó không phải là VB6 code.Trong .NET, Visual components của một form được chứa dưới dạng code thật sự.
- Tức là, nếu không có VS.NET ta có thể dùng Notepad viết code như thế và sau khi compile, nó vẫn chạy y hệt như trong trường hợp ta dùng VS.NET.
- Điểm nầy giống như trong Java, ta có thể viết code bằng Notepad và dùng.
- Command line để compile và link code file với các components khác.Thí dụ như khi ta viết một VB.NET program đơn giản để chạy trên trong DOS Console, ta có thể compile nó như sau: vbc /t:exe /r:system.dll mysource.vbvbc là VisualBasic Compiler, /t: có nghĩa target tức là EXE để chạy trong DOS console.
- /r: có nghĩa reference đến DLL.Nếu muốn chạy trong Windows, ta dùng: vbc /t:winexe /r:system.dll /r:system.windows.forms.dll mysource.vbBình thường generated code được dấu trong Region để khỏi choán chỗ, hay khêu gợi chúng ta sửa đổi.Click dấu + bên lề trái để mở một Region hay Sub/Function..
- Click dấu - để đóng lại.Đôi khi ta cũng có thể Edit generated code, nhưng bạn nhớ backup code trước, để rủi form không thể hiển thị vì bị error, chỉ cho ta một trang giấy trắng, thì ta còn có đường restore..
- Window Bạn có thể Navigate trong Code qua Class View.
- Private Sub ListBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown.
- ItemIndex = ListBox1.IndexFromPoint(New System.Drawing.Point(e.X, e.Y)).
- Start the DragDrop process passing along the ListboxItem as ListBox1.Items(ItemIndex).
- ListBox1.DoDragDrop(ListBox1.Items(ItemIndex), DragDropEffects.Copy Or DragDropEffects.Move) End Sub.
- Private Sub ListBox2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox2.DragEnter.
- Private Sub ListBox2_DragDrop(ByVal sender As Object,.
- ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox2.DragDrop.
- ListBox2.Items.Add(LItem).
- ListBox1.Items.RemoveAt(ListBox1.FindString(LItem)) End Sub.
- Khi Load data vào Listbox ta dùng StreamReader để Open một File as Input.Khi Save data của Listbox vào một Text file ta dùng StreamWriter để Open một File as Output (hay Append nếu ta cho thêm Option Append=True):.
- Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click.
- ListBox2.Items.Clear.
- ListBox2.Items.Add(x.
- Private Sub SaveAnimalList().
- For i = 0 To ListBox2.Items.Count - 1 sw.WriteLine(ListBox2.Items(i)) Next.
- Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick.
- Bạn cũng có thể hiển thị ngày giờ trong format khác bằng cách viết:.
- Để ý trong Format string ta dùng MM cho Month và mm cho Minute..
- Học Microsoft .NET

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt