Đóng gói bản cài chương trình winform


Khi ta viết xong 1 chương trình tốt nhất ta nên đóng gói lại thành bản cài với các database, file dll đầy đủ, để thực hiện được công việc này ta sử dụng project Setup and Deployment. Yêu cầu cần cài đặt InstallShield

I. Hướng dẫn tải và lấy key InstallShield
- vào link: http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visual-Studio?lang=1033&ver=ult


- Điền đầy đủ thông tin sau đó ấn Download Now


- Lưu key lại vào chọn 1 trong 2 bản để tải về sau đó tiến hành cài đặt
- Sau khi cài đặt xong bạn thoát Visual ra sau đó vào lại visual sẽ thấy InstallShield xuất hiện và yêu cầu nhập key hoặc dùng thử, ta nhập key vào. thế là xong phần cài đặt

II. Đóng gói
Xem video: http://www.youtube.com/watch?v=4rsspP-Yfn4

hoặc


10/16/2013
Đăng bởi :
Nhãn :

Lấy tạo độ của con chuột trên form

Để thực hiện công viện này ta sử bắt sự kiện Mouse Move của Form.

Giá trị trả về của sự kiện là: e.X tọa độ x, e.Y: tọa độ y

ứng dụng có thể kết hợp draw để tạo thêm chút hiệu ứng

Lấy tọa độ của Form: https://www.dropbox.com/s/fck3n5srv9ibzs5/LayToaDoCuaChuotTrongFrom-thuvienwinform.rar

Code:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//
//
// Chú ý: ở properties của form chọn DoubleBuffered là true để đỡ lag!
//
//

namespace LayToaDoCuaChuotTrongFrom
{
    public partial class Form1 : Form
    {
        Graphics paper;
        Pen pen = new Pen(Color.Brown);
        Point p = new Point();
        public Form1()
        {
            InitializeComponent();
        }

        private void DrawLine(Graphics paper)
        {
            paper.DrawLine(pen, new Point(0, 0), p);
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            textBox1.Text = e.X.ToString();
            textBox2.Text = e.Y.ToString();

            label1.Text = e.X.ToString();
            label2.Text = e.Y.ToString();

            label1.Location = new Point(e.X - 10, e.Y + 10);
            label2.Location = new Point(e.X + 10, e.Y - 10);

            p.X = e.X;
            p.Y = e.Y;

            this.Invalidate(); //Vẽ lại các phần tử             
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            paper = e.Graphics;
            DrawLine(paper);
        }
    }
}

10/15/2013
Đăng bởi :
Nhãn :

Hàm Random() lấy số ngẫu nhiên trong C#

Để lấy một số ngẫu nhiên ta dùng lớp Random()

Cú pháp:

Random TenBienRanDom = new Random();
TenBienRandom.Next(GiaTriDau, GiaTriCuoi);//Trả về giá trị kiểu int

Ví dụ:

int Numrd;
string Numrd_str;
Random rd = new Random();
Numrd = rd.Next(1, 100);//biến Numrd sẽ nhận có giá trị ngẫu nhiên trong khoảng 1 đến 100
Numrd_str = rd.Next(1, 100).ToString();//Chuyển giá trị ramdon về kiểu string

Ứng dụng:
- Lấy ngẫu nhiêu một chữ trong bảng chữ cái:

Random rd = new Random();
string TextRd;
TextRd = Convert.ToString((char)rd.Next(65, 90));//Chư in hoa. Chữ thường: TextRd = Convert.ToString((char)rd.Next(97, 122));
Đăng bởi :
Nhãn :

Hint Text | Gợi ý trong textbox

Hint text (water text) trong C#

Có 2 cách để giải quyết vấn đề này

Cách 1: yêu cầu đã cài DotnetBar: http://thuvienwinform.blogspot.com/p/blog-page.html

Đề có chữ gợi ý trong textBox rất đơn giản, ta sẽ sử dụng control textBoxX của DotnetBar
Chỉ cần gõ chữ gợi ý vào phần waterMark Text của textBoxX là được



Chú ý: nếu cài DotnetBar rùi mà không thấy control textBoxX thì xem phần "- Thêm ToolBox của DotNetBar vào Visual Studio:" tại: http://thuvienwinform.blogspot.com/p/blog-page.html#Huong-dan-add-control-dotnetbar




Cách 2: không cần cài DotnetBar

- Nhưng mình nghĩ thì cài DotnetBar luôn đi vì nó có nhiều cái sẵn có rất hay!
- Để thực hiện công viện này với textbox mặc định của visual thì cần thiết kế 1 lớp, đó là watermark: http://www.codeproject.com/Articles/27849/WaterMark-TextBox-For-Desktop-Applications-Using-C
10/13/2013
Đăng bởi :
Nhãn :

Kết nối C# đến SQLite

Hướng dẫn đầy đủ các thao tác giữa SQLite và winform (cụ thể là C#) .Như bài viết trước chúng ta đã giới thiệu sơ qua về SQLite. Hôm nay mình sẽ hướng dẫn các bạn chi tiết các bước kết nối từ C# đến CSDL của SQLite, rất đơn giản thôi.

Demo: https://www.dropbox.com/s/cjmq9o4091uw0iq/C%23-SQLite-thuvienwinform.rar

Bắt đầu!
Bước 1: ta phải có database đã, trong database có ít nhất 1 bảng. (Xem hướng dẫn tạo database và bảng với SQLite: http://thuvienwinform.blogspot.com/2013/10/SQLite-chay-ung-dung-su-dung-da-tabase-tren-may-khong-cai-sql.html).

CSDL chứa 1 bảng tb1 gồm 2 cột ID và Name (đã tạo ở bài viết trước)

Bước 2: Tạo 1 project mới có kiểu như sau: gồm 1 button và 1 datagridview


Bước 3: Add System.Data.SQLite vào project này (2 bước)
Bước 3.1: Chuột phải vào References -> Manage Nuget Packages...


Bước 3.2: làm như hình để thêm thư viên sử dụng SQLite
Chú ý: ấn vào All cho nó load xong hẵng tìm kiếm

Install xong thì using System.Data.SQLite;


Bước 4: Lập trình lấy dữ liệu ra (sau khi chạy sẽ gặp lỗi những không sao, code xong hãy chuyển qua bước 5):

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SQLite;
namespace SQLite
{
    public partial class Form1 : Form
    {
        SQLiteConnection conn = new SQLiteConnection("Data Source = test.db");
      //Cú pháp: Data Source = Đường dẫn đến file database. Ví dụ: Data Source = C:\test.db hoặc copy file database vào cùng thư mục
        public Form1()
        {
            InitializeComponent();
            this.button1.Click += new System.EventHandler(this.button1_Click);//Thêm sự kiện click
            conn.Open();//Mở kết nối
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SQLiteDataAdapter da = new SQLiteDataAdapter("Select * From tb1", conn);//Chọn toàn bảng
            DataTable dt = new DataTable("Lite");
            da.Fill(dt);//Xuất dữ liệu ra bảng
            dataGridView1.DataSource = dt;
        }
    }
}

OK ấn F5 và thưởng thức



Tải thư viện SQLite bằng Packet Manage Console
 vào Package Manager Console .


Gõ vào Install-package System.Data.SQLite xong ấn Enter


Kết quả như vậy là OK


Đăng bởi :
Nhãn :

SQLite Giải pháp cho những máy không cài SQL | Hướng dẫn cơ bản: tạo databse, lưu database, đọc database



SQLite là một hệ quản trị CSDL rất gọn nhẹ! Với những ứng dụng sử dụng đến CSDL chỉ chạy được trên những máy cài hệ quản  trị CSDL (cụ thể là SQL Server), còn những máy không cài được thì sao, sẽ không chạy được. Nhưng đừng lo, với SQLite bạn vẫn chạy các ứng dụng đó trên các máy khác được. Vì SQLite không cần cài đặt, file dll của nó chưa đến 1MB. 
Công cụ sử dụng là: sqlite3.exe (501KB): https://www.dropbox.com/s/6ag8gb47ryyvsaj/SQLite-thuvienwinform.rar
Giải nén ta được file test.db (ví dụ database ở dưới) và sqlite3.exe bạn có thể coi nó là SQL Server vậy, ta thực hành các câu lệnh với nó xong chuyển qua winform cũng tương tự thôi.

Hoặc ban có thể sử dụng SQLite Studio: http://sqlitestudio.pl/?act=download (2MB)

* Sử dụng SQLite Studio
- Thêm/tạo CSDL

- Tạo bảng

- Thêm dữ liệu vào bảng
SQLite Studio rất nhẹ và trực quan như kiểu SQL Server luôn! Lúc đầu nên dùng sqlite3.exe để thông thạo câu lệnh

1. Tạo Database cho SQLite:

Cú pháp: 
attach database 'ten_database.db' as 'TenDaiDienChoDatabase';

ví dụ:
attach 'test.db' as 'db';


khi đó trong cùng folder sẽ xuất hiện 1 file test.db


2. Tạo bảng dữ liệu trong database vừa tạo:

Cú pháp:
Create table TenBang  (
Cot1 KieuDuLieu,
Cot2 KieuDuLieu,
...     
Cotn KieuDuLieu
);


Ví dụ: 

Create table tb1  (
                            ID int,
                            Cot2 nvarchar(50),
                            );


Vậy là ta đã có 1 bảng tên tb1 với 2 cột là ID kiểu int và cột Name kiểu nvarchar.
Tham khảo thêm các kiểu dũ liệu: http://www.tutorialspoint.com/sqlite/sqlite_data_types.htm

3. Chèn dữ liệu vào bản (Giống SQL server)
Cú pháp
Insert Into Tenbang (TenCot) Values (GiaTri);


Ví Dụ:
Insert Into tb1 (ID, Name) Values (1, 'Nguyen Van X');


- Để xem dữ liệu trong bảng ta cũng sử dụng cú pháp Select * From tenbang;
kết quả trả về là: 1|Nguyen Van X


4. Lưu bảng

Cú pháp: 
.backup TenFileDatabase




5. Đọc lại dữ liệu từ database:

Cú pháp:
.restore TenFileDatabase
Select * From TenBang;


- Chú ý: sqlite3.exe và file database cùng thư mục


OK.
- Để xem một số câu  lệnh ta gõ vào .help






10/12/2013
Đăng bởi :
Nhãn :

Control NotifyIcon trong C# | Tạo icon trên khay hệ thống

Đầy đủ cách sử dụng NotifyIcon trong C#



Các Icon trong khay hệ thống (có thể kéo ra ngoài)
- Demo NotifyIcon: https://www.dropbox.com/s/v1ajn6w6suzidiu/NotifyIcon-thuvienwinform.rar
- Sử dụng cơ bản giống như trong demo.
- Tác dụng chính của nó là để kích hoạt lại Form khi nó bị ẩn xuống (Hide). Các thuộc tính của nó như sau:

Tên thuộc tính
Chức năng
(name)
Tên của NotifyIcon. Nó như tên biến vậy
BallootipIcon
Biểu tượng thông báo hiện ra khi ấn vào Icon này (phải kết hợp sự kiện Click)
BalloontipText
Chữ hiện ra khi ấn vào Icon
ContextMenuStrip
Menu lựa chọn khi ấn chuột phải vào Icon
ContextMenuTitile
Tiêu để chữ hiện ra khi tác động vào Icon
Icon
Icon (biểu tượng) hiện ở khay hệ thống
Text
K có tác dụng lắm J

- 2 Sự kiện hay sử dụng đối với NotifyIcon là: Click và MouseDoubleClick.
+ Click: sự kiện khi ấn vào biểu tượng trong khay hệ thống
+ DoubleClick: khi click kép vào nó (để hiện Form trở lại)

9/26/2013
Đăng bởi :
Nhãn :

Item Manifest chạy ứng dụng winform với quyền admin

Một số chương trình các chúng ta xây dựng liên quan đến hệ thống như chỉnh sửa registry, chỉnh sửa file hệ thống,... yêu cầu quyền admin thì sẽ không chạy được. Nhưng yên tâm với Manifest sẽ giải quyết vấn đề này!
Chú ý: với Item Manifest thì sẽ không để Icon cho file exe được chỉ để Icon cho form đc thui

B1: Project -> Properties... (dòng cuối) -> chọn tab Security -> tích vào ô "Enable Click..." như hình





Khi đó sẽ xuất hiện 1 file tên là app.manifest như này:


Ấn vào nó để xem code, sau đó sửa đoạn

<requestedExecutionLevel  level="asInvoker" uiAccess="false" />

thành 

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />


vậy là cớ bản đã được rùi!

Cuối cùng  các ban làm lại bước 1 (project -> properties (dòng cuối) -> tab Security) xong bỏ tích ô "Enable OneClick..." đi!


Các lỗi:

+ trình virus phát hiện là virus: Bạn vào (project -> properties (dòng cuối) -> tab Application -> xóa Icon đi


Đăng bởi :
Nhãn :

Chương trình RightClick: Thêm sửa xóa menu chuột phải trên desktop

RIGHTCLICK CHƯƠNG TRÌNH THÊM, SỬA, XÓA MENU CHUỘT PHẢI

TRÊN DESKTOP




 Form Chính

+V2.2
++ Yêu cầu .NET4.0 trở lên, Full chức năng


Chú ý: Với những phiên bản dưới 2.2 phải chuột phải -> run as administrator
+V2.1
++ yêu cầu NET4.5, win7 trở lên, tạo được menu con, icon

+V2.0
++ yêu cầu NET4.5, win7 trở lên, tạo được menu con


+V1.1 :
++Yêu cầu: .NET3.0, win7 trở lên
++V1.1 https://www.dropbox.com/s/jqtiuqn67glfkna/%5Bthuvienwinform.blogspot.com%5D-RightClickV1.1.rar



Tạo thêm menu Notepad khi ấn chuột phải vào desktop


Demo SubMenu chuột phải:




__________________________________________________

Hướng dẫn sử dụng


1. Tạo sao lưu
File -> tạo sao lưu

2. Khôi phục sao lưu
File -> khôi phục sao lưu

3. Xóa:
Chọn menu cần xóa -> ấn nút xóa hoặc chuột phải -> xóa

4. Thêm
4.1: Thêm menu đơn:

Menu đơn (Notepad)

Ấn "Thêm không sub" -> Điển thông tin vào Form. Ví dụ:



5. Sửa
-Chọn menu cần sửa -> sửa trong khung sửa ở phía dưới -> sau khi sửa xong ấn nút "Sửa"

6. Cập nhật
Trợ giúp -> cập nhật

Báo lỗi:
Comment phía dưới hoặc gửi email: thuvienwinform@gmail.com. Rất nong nhận được ý kiến từ các bạn!

__________________________________________________

Active

Gõ vào như ảnh xong ấn sửa đề kích hoạt Full chức năng
Gõ vào ô hiển thị, đường dẫn, Icon lần lượt: thuvienwinform, 1, 1 ấn sửa



9/20/2013
Đăng bởi :
Nhãn :

Thuộc tính và sự kiện của form

Form thiết kế

 I. Các thuộc tính của form


 Các thuộc tính

Thuộc tính
Chức năng
(name)
Tên Form. Nó như một biến vậy. Quan trọng
AllowDrop
Cho phép kéo thả
AutoSizeMode
+GrowOnly: cho phép thay đổi kích thước form
+GrowAndShrink: không cho phép thay đôi kích thước form
BackColor
Màu nền Form
ContexMenuStrip
Menu xuất hiện khi chuột phải lên Form
Cursor
Con trỏ chuột khi rê trên form
KeyPreview
Cho phép nhận phím hay không (cái này kết hợp với sự kiện nhận phím)
Opacity
Độ trong suốt của form
ShowInTaskbar
Hiện thị ở thanh taskbar khi chạy form (true/false)
StartPosition
Vị trí xuất hiện của form
+CenterScreen: Giữa màn hình
+CenterParent: Giữa Form gọi ra nó (form cha)
TopMost
Hiển thị đè lên các form khác
WindowState
Trạng thái của form
Text
Chữ hiển thị khi form chạy

Ngoài việc chỉnh trực tiếp ta có thể dùng code. VD:
Form1.Text = "Tên Form 1";
Form1.ActiveForm.TopMost = true;
...

II. Các sự kiện trên form



Các sự kiện trên form ít khi được sử dụng. Một số sự kiện thường được sử dụng đó là:
+ DragDrop: kéo thả đối tượng vào Form
+ Keyup: xác định phím ấn.



































9/18/2013
Đăng bởi :
Nhãn :

Nhận ngay 100$ cho VPS

Mua hàng ủng hộ page

Ủng hộ page

Nhãn

Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

- Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -