0

Dialog Boxes


1. Giao diện:

Kéo các component vào như giao diện ở trên
Button Font có event Click với nội dung như sau (tao 1 instance của FontDialog và set Font cho ô RichTextBox)
          dlgrresResult = fdlgFont.ShowDialog();
            if (dlgrresResult==DialogResult.OK)
            {
                if (rtb.SelectedText.Length>0)
                {
                    rtb.SelectionFont = fdlgFont.Font;

                }
                else
                {
                    rtb.SelectAll();
                    rtb.Font = fdlgFont.Font;
                }
                rtb.Select(rtb.TextLength, rtb.TextLength);
                rtb.Focus();
            }

Button Color có event Click với nội dung như sau: (tạo 1 instance của ColorDialog và set Color cho text trong ô RichTextBox)
         dlgrresResult = cdlgColor.ShowDialog();
            if (dlgrresResult==DialogResult.OK)
            {
                if (rtb.SelectedText.Length>0)
                {
                    rtb.SelectionColor = cdlgColor.Color;
                }
                else
                {
                    rtb.SelectAll();
                    rtb.ForeColor = cdlgColor.Color;
                }
                rtb.Select(rtb.TextLength, rtb.TextLength);
                rtb.Focus();
            }
Button New có event Click check xem nếu Text thay đổi thì tạo 1 cái mới
Button Print có event Click với nội dung như sau: (tạo 1 instance của PrintDialog và show ra)
            dlgrresResult = pdlgPrint.ShowDialog();
            if (dlgrresResult==DialogResult.OK)
            {
                MessageBox.Show("The file has been printed sccessfully.", "EasyPad", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            else if ( dlgrresResult==DialogResult.Cancel)
            {
                MessageBox.Show("Printing of the file has been cancelled", "EasyPad", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

Button Save có event Click với nội dung như sau: (tạo 1 instance của SaveDialog và goi phuong thuc SaveFile(filename) của RichTextBox)
            dlgrresResult = pdlgPrint.ShowDialog();
            if (dlgrresResult==DialogResult.OK)
            {
                MessageBox.Show("The file has been printed sccessfully.", "EasyPad", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            else if ( dlgrresResult==DialogResult.Cancel)
            {
                MessageBox.Show("Printing of the file has been cancelled", "EasyPad", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
Button Save Ascó event Click với nội dung tạo 1 instance của SaveFileDialog và goi phuong thuc ShowDialog() của lớp này.

2. Giao diện
Kéo các component vào như giao diện ở trên
Button New có event Click với nhiệm vụ nếu RichTextBox chưa có text thì tạo mới còn không thì sẽ hỏi xem người dùng có muốn lưu lại file hiện tại không
               if (textChanged)
            {
                dlgresResult = MessageBox.Show("Do u want to save the file?", "EasyPad", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
                if (dlgresResult == DialogResult.Yes)
                    btSave_Click(null,null);
                else if (dlgresResult == DialogResult.Cancel)
                {
                    rtbEasyPad.Focus();
                }
                else
                {
                    fileName = "";
                    rtbEasyPad.Enabled = true;
                    rtbEasyPad.Clear();
                    EnableControls();
                    rtbEasyPad.Focus();
                    textChanged = false;
                }
            }
            else
            {
                fileName = "";
                rtbEasyPad.Enabled = true;
                rtbEasyPad.Clear();
                EnableControls();
                rtbEasyPad.Focus();
                textChanged = false;
            }
Button Open có event Click với nhiệm vụ nếu RichTextBox chưa có text thì tạo mới còn không thì sẽ hỏi xem người dùng có muốn lưu lại file hiện tại không. Đồng thời, mở 1 dialog để chọn đến file muốn mở ra ở RichTextBox
               if (textChanged)
            {
                dlgresResult = MessageBox.Show("Do u want to save the file?", "EasyPad", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
                if (dlgresResult == DialogResult.Yes)
                    btSave_Click(null,null);
                else if (dlgresResult == DialogResult.Cancel)
                {
                    rtbEasyPad.Focus();
                }
                else
                {
                    fileName = "";
                    rtbEasyPad.Enabled = true;
                    rtbEasyPad.Clear();
                    EnableControls();
                    rtbEasyPad.Focus();
                    textChanged = false;
                }
            }
            else
            {
                fileName = "";
                rtbEasyPad.Enabled = true;
                rtbEasyPad.Clear();
                EnableControls();
                rtbEasyPad.Focus();
                textChanged = false;
            }
Các nút khác Save, Save As, Print tương tự với giao diện 1

0

Date Controls và Time Controls




Workshop 1:
Giao diện

+ Product Name sử dụng ComboBox và có event SelectedValueChanged dựa trên các điều kiện như nếu Product Name được chọn là Hard Disk thì Rate sẽ là 3600... (tương tự đối với các Product Name khác)
+ Button Calculate có event Click với đoạn code tính toán và validate xem các ô tương ứng đã được điền chưa:
if (txtOrderNo.Text == "")
            {
                MessageBox.Show("Please enter the order number.", "Purchase Order", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtOrderNo.Focus();
            }
            else if (dtpOrderDate.Value.ToShortDateString() != DateTime.Today.ToShortDateString())
            {
                MessageBox.Show("Please select today's date.", "Purchase Order", MessageBoxButtons.OK, MessageBoxIcon.Error);
                dtpOrderDate.Focus();
            }
            else if (txtName.Text == "")
            {
                MessageBox.Show("Please enter customer name.", "Purchase Order", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtName.Focus();
            }
            else if (cbProductName.Text == "")
            {
                MessageBox.Show("Please select the product.", "Purchase Order", MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
                cbProductName.Focus();
            }
            else if (txtQuantity.Text == "")
            {
                MessageBox.Show("Please enter quantity.", "Purchase Order", MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
                txtQuantity.Focus();
            }
            else
            {
                rate = Convert.ToDouble(txtRate.Text);
                totalAmount = rate * quantity;
                txtTotalAmount.Text = totalAmount.ToString();
                btReport.Enabled = true;
            }
+Button Report với event Click:

Link download: http://www.mediafire.com/download/7u7etn5s4e97zac/InventorySystem.rar

Workshop 2:
Giao diện

+ Kéo component Timer vào Form
+ Button Start có event Click, sử dụng method Start() của lớp Timer. Sau đó set thuộc tính Enabled của button Start thành false và của Stop thành true.
+ Button Stopcó event Click, sử dụng method Stop() của lớp Timer. Sau đó set thuộc tính Enabled của button Start thành true và của Stop thành false.

Link download: http://www.mediafire.com/download/6x87gsyrd7gcx3z/DigitalWatch.rar
Practice Assignment
Giao diện

+ Form có event Load như sau: 
            lbTime.Text = DateTime.Now.ToLongTimeString();
            tNow.Start(); (tNow là 1 instance của lớp Timer)
+ Button Submit có event Click như sau: 
 if (txtName.Text == "")
            {
                MessageBox.Show("Please enter Student Name.","Students Attendance", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtName.Focus();
            }
            else if (nudRollNo.Value == 0)
            {
                MessageBox.Show("Students Roll Number must be greater than 0", "Students Attendance", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (dtpDate.Value.ToShortDateString() != DateTime.Today.ToShortDateString())
            {
                MessageBox.Show("Please select today date.", "Students Attendance", MessageBoxButtons.OK, MessageBoxIcon.Error);
                dtpDate.Focus();
            }
            else if (rbPre.Checked == false && rbAb.Checked == false)
            {
                 MessageBox.Show("Please choose Attendance.","Students Attendance", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("The attendance for the day has been registered successfully for " + txtName.Text + " in " + dtpDate.Text + " at " + lbTime.Text, "Students Attendance", MessageBoxButtons.OK, MessageBoxIcon.Information);
                nudRollNo.Value = 0;
                txtName.Text = "";
                rbAb.Checked = false;
                rbPre.Checked = false;
            }

+ Attendence sử dụng GroupRadioBox chỉ chọn được 1 trong 2 giá trị.
+ Button Exit có event Click với method Close();

Link download: http://www.mediafire.com/download/ajew1eeejhncdq0/Students_Attendance.rar
0

Tạo trình duyệt web trong winforms

Giao diện:

+ Kéo component Webbrower và các Button cần thiết (next, back, refresh, stop, go) vào Form

+ Chèn ảnh vào các button và tạo event click cho các button
Button back: sử dụng method GoBack() của lớp Webbrower
Button next: sử dụng method GoNext() của lớp Webbrower
Button refesh: sử dụng method Refresh() của lớp Webbrower
Button Stop: sử dụng method Stop() của lớp Webbrower
Button Go: sử dụng method Naviagte(url) (url là chuỗi địa chỉ của trang web lấy từ TextBox địa chỉ web)

0

Workshop Advanced Controls and Practice Assignment


  1. Workshop 1 : Automobile Inventory.
    - Giao diện :


    - Vehicle List sử dụng control TreeView gồm 2 phần tử con là Two Wheeler và Four Wheeler . Trong 2 phần tử con này bao gồm nhiêu phân tử con khác va được validate với event After Select (Nếu chọn xe ở trong list xe sẽ hiện thị thông tin của xe ở bên vehicle details)
    -Quantity sử dụng control numberic up down để điều chỉnh số lượng xe muốn mua
    -Addon Features sử dụng control domain up down để chon phụ kiện đi kèm
    -Vehicle Details sử dụng control ListView gồm 4 cột thông tin của xe . khi click vào hãng xe khách hàng sẽ được quyên chọn số lượng mua và phụ kiện đi kèm.
    -Total Amount sử dụng text box để hiện giá xe sau khi chọn xe , số lượng và phụ kiện
    -Nút save sử dụng event mouse click , khi ấn vào thông tin sẽ được lưu lại.

    Link download :
    http://www.mediafire.com/download/aqpg111j77x0711/AutomobileInventory.rar
  2. Workshop 2 : E-mail Composer
    - Giao diện :

    - Button bold , italic , underline đều sử dụng event click dùng để chỉnh font chữ như in đậm , in nghiêng và gạch dưới .
    - Button Left , center , right cũng sử dung event click để căn chữ trong rich text box sáng trái , giữa hoặc phải .

    Link download :
    http://www.mediafire.com/download/pagxucubd2tkx85/EmailDrafter.rar
  3. Practice Assignment : Business Administration Course
    -Giao diện :
    - Tương tự như workshop 1 ...

    Link download :
    http://www.mediafire.com/download/9aqcbff9q9bl5as/Harold_University.rar


0

Workshop and Practice Assignments (Pt 2)

1. Workshop

Giao diện Customer Details:



Customer Name sử dụng TextBox và được validate với event Leave (nếu ô này bị bỏ trống, 1 thông báo lỗi sẽ hiện lên).
Gender sử dụng GroupBox với 2 RadioButton là Male và Female (chỉ có thể chọn 1 lựa chọn)
Qualification sử dụng CheckedListBox (có thể chọn nhiều lựa chọn)
Ấn vào button OK thông tin sẽ được cập nhập.
Ấn vào button Exit để thoát chương trình.
Link download: 
http://www.mediafire.com/download/f3vmv55ymp0g18l/WorkShop_1_SilverLineBank.rar

Giao diện Customer Details:


Car Models sử dụng ComboBox với event SelectedValueChanged (khi ComboBox này được chọn với những mẫu xe khác, thông tin tương ứng về chiếc xe đó sẽ xuất hiện cùng với hình ảnh)
Ô hình ảnh sử dụng PictureBox làm khung và hình ảnh được lưu tại ImageList.
Tất cả các ô TextBox đều có chế đố uneditable, chỉ để hiển thị không được edit.

Link download:

2. Practice Assignment
Giao diện:



Pizza Categories sử dụng ComboBox với event SelectedValueChanged 
Mục Ingredients (gồm một loạt các CheckedBox) cùng với mục Recipe (gồm một series các TextBox) để hiện thị các thông tin tương ứng với các loại pizza được chọn ở ComboBox.
Ô hình ảnh sử dụng PictureBox làm khung và hình ảnh được lưu tại ImageList.
Tất cả các ô TextBox đều có chế đố uneditable, chỉ để hiển thị không được edit
0

Windows Forms Progamming with C# Workshop và Practice Assignments


  1. Workshop :
    + Giao diện :
    + Employee Name sử dụng control Text Box
    + Date of Birth , Zip Code sử dụng control Masked Tex Box chỉ dùng đẻ điền số và validate đúng theo dạng ngày , tháng năm , zip code , etc ...
    + Gender sử dụng Combo Box , người dùng có thể ấn vào để lựa chọn
    + Skill sử dụng List Box , người dùng có thể chọn 1 hoặc nhiều kỹ năng trong List Box
    + Tất cả các control trên đều sự dụng event Focus : Leave , nếu người dùng bỏ trống ô hoặc ko chọn gì , nó sẽ tự động hiện lên thông báo nhắc điền vào :

    + Ấn vào button OK thông tin sẽ được cập nhập
    + Ấn vào button Exit để thoát chương trình
    + Download : http://www.mediafire.com/download/najccyntohv0y8o/Workshop.rar


  2. Practice Assignments :
    + Giao diện :

    + Các control và event cũng sử dụng giống như workshop ở trên
    + Khi ấn submit tất cả các thông tin điền vào sẽ hiện ra :


    + label website ở dưới dùng sử event mouse click , ấn vào đấy người dùng có thể đi đến trang chủ của phần mềm . bạn có thể lên mạng tìm hiểu về process start info để hiểu rõ hơn cách dùng :


0

Cấu trúc .NET framework

Cấu trúc .NET Framework

Bộ thực thi ngôn ngữ chung (Common Language Runtime)

Các chương trình được viết trên nền .NET Framework được triển khai trong môi trường phần mềm gọi là Common Language Runtime (CLR) - Môi trường phần mềm này là một máy ảo, cung cấp các dịch vụ sau: Là công cụ thực thi mã trung gian, Biên dịch ,Thực thi mã nguồn, Thực thi luồng , Quản lý bộ nhớ, Xử lý lỗi , Xác nhận mã nguồn an toàn và các hình thức khác của việc chính xác mã nguồn. CLR cho phép việc phát triển các ứng dụng một cách dễ dàng hơn đồng thời cung cấp một môi trường thực thi an toàn và hiệu năng, đảm bảo không sử dụng tràn lan tài nguyên của hệ thống, hỗ trợ đa ngôn ngữ và đơn giản hóa việc triển khai và quản lý các ứng dụng.

Thư viện các lớp cơ sở (Base class library)

Các lớp như Integer, String... là những lớp được  nằm trong thư viện các lớp cơ sở và được dùng để xây dựng các lớp cao cấp hơn trong quá trình xây dựng phần mềm chạy trên .NET Framework. 

Bộ thư viện ADO.NET và XML

Đây là 2 bộ thư viện đặc trưng được tích hợp sẵn khác của .NET Framework. ADO.NET chứa các lớp có nhiệm vụ làm việc với các dữ liệu thông thường còn XML đảm nhận xử lý các dữ liệu theo định dạng XML thời thượng. Một vài lớp điển hình có trong bộ thư viện XML: XMLReader, XMLWriter và ADO.NET: SqlDataAdapterSqlCommand.

Bộ thư viện ASP.NET

ASP.NET được dùng để phát triển các ứng dụng web giống như bạn đang làm việc với việc phát triển ứng dụng trên Windows. Giờ đây việc chuyển nhà cho một ứng dụng viết trên Windows sang Web trở nên khá là thuận tiện và dễ dàng.

Bộ thư viện Windows form

Bộ thư viện Windows form gồm các lớp ứng dụng trong việc xây dựng các ứng dụng trên nền tảng Windows với sự hỗ trợ của các công cụ lập trình như Visual Studio...
0

Tiểu Sử Của Nhóm Pha Quế Domination

Gồm 3 thành viên  :

  1. Trần Xuân Trường
    • Thông tin cơ bản :
               Ngày Sinh : 27/06/1994
               Giới tính : Nam
               Nickname : Trường Ti Ti
               Nơi Sống : Hà Nội
               Email : xtruong27694@gmail.com
               Mối quan hệ : Ế là xu thế
               Sở thích : Yêu hòa bình , sống nội tâm , yêu màu tím
               Trích dẫn yêu thích : Lên là lên là lên là lên
  2. Nguyễn Anh Tùng
    • Thông tin cơ bản :
               Ngày Sinh : 09/12/1994
               Giới tính : Nam
               Nickname : Tùng đẹp trai feel the beat
               Nơi Sống : Hà Nội
               Email : tungnagc00484@gmail.com
               Mối quan hệ : Độc Thân
               Sở thích : Bóc bánh chưng
               Trích dẫn yêu thích : Khôn thì sống mà ngu thì chết

  3. Hoàng Tuấn Long
    • Thông tin cơ bản :
               Ngày Sinh : 16/03/1991
               Giới tính : Nam
               Nickname : Long nhi
               Nơi Sống : Hà Nội
               Email : longnhi163@gmail.com
               Mối quan hệ : Độc thân
               Sở thích : Trượt cầu trượt vào những ngày thứ 7
               Trích dẫn yêu thích : The enemy of my enemy is my friend
         
 
Copyright © Pha Quế Domination