Mouse Event ,KeyBoard Event C#
Mouse Event
- Khởi Tạo và Properties Thuộc Tính
- MouseEnter:Xuất hiện khi con trỏ chuột đi vào vùng biên của control là khi trỏ chuột vào control nào thì Event sẽ được chạy
- MouseLeave:Xuất hiện khi con trỏ chuột rời khỏi biên của control
- MouseDown,MouseUp:Xuất hiện khi button được nhấn/thả và con trỏ chuột đang ở trong vùng biên của control
- MouseMove:Xuất hiện khi chuột di chuyển và con trỏ chuột ở trong vùng biên của control
Thuộc tính của lớp MouseEventArgs
- Button:Button được nhấn {Left, Right, Middle, none} có kiểu là MouseButtons
- Clicks:Số lần button được nhấn
- X,Y:Là Tọa độ x,y của con trỏ chuột trong control
- Button:Button được nhấn {Left, Right, Middle, none} có kiểu là MouseButtons
- MouseEnter:Xuất hiện khi con trỏ chuột đi vào vùng biên của control là khi trỏ chuột vào control nào thì Event sẽ được chạy
- Event Sự Kiện
Cũng như CheckBox RadioButton Mouse cũng chỉ cần đưa code vào là sử dụng nhưng khác ở chỗ CheckBox , RadioButton là Control còn Mouse Event chỉ là sự kiện của các Control

Đây là các code chủ yếu của Mouse Event
Code về Graphics vẽ như trong Paint
bool shouldPaint = false;/*Tạo 1 biến so sánh Bool để sử dụng khi vẽ*/
public PainterForm()
{
InitializeComponent();
}
private void PainterForm_MouseDown( object sender, MouseEventArgs e )/*Sử dụng khi Click Mouse xuống*/
{
shouldPaint = true;/*Biến gán Giá Trị True để vẽ*/
}
private void PainterForm_MouseUp( object sender, MouseEventArgs e )/*Sử dụng khi thả chuột ra MouseUp*/
{
shouldPaint = false;
}
private void PainterForm_MouseMove( object sender, MouseEventArgs e )
{/*Constructor để vẽ đây*/
if ( shouldPaint ) /Kiểm tra biến xem true hay false nếu true thì chạy tiếp/
{
Graphics graphics = CreateGraphics();/*Khởi tạo hàm đồ họa Graphics */
graphics.FillEllipse(
new SolidBrush( Color.BlueViolet ), e.X, e.Y, 10, 10 );
/*không chắc lắm vì TA quá kém nhưng tương tự như vẽ(Cách vẽ,Tọa độ X,Tọa độ Y,Width,height): vẽ một vòng tròn, nơi con trỏ chuột có mặt*/
graphics.Dispose();/**/
}
}

Đăng Nhập Bằng Notepad Or Word Trong C #
Hàm Đăng Nhập
- Mở Danh Sách Notepad Or Word
/*OpenDialog đãcó ở bài trước giờ ko nói rõ những properties,event của OpenDialog nữa/
string t;
OpenFileDialog open = new OpenFileDialog();
open.FileName = "";
open.InitialDirectory = @"C:";
open.Title = "Nhap danh Sach";
open.Filter = "Text Files|*.txt|Word Documents|*.doc";
if (open.ShowDialog() == DialogResult.OK)
{
t = open.FileName;
richTextBox1.LoadFile(t, RichTextBoxStreamType.RichText);
}
textBox1.Enabled = true;
textBox2.Enabled = true;
- Đăng Nhập Hơi khó hiểu và mình cũng không rõ lắm vì được người khác chỉ
Code
string a = "", s = "", ms = "";
int i, f;
string[] amarray = richTextBox1.Lines;/*Tạo mảng gán số dòng của văn bản nhập vào*/
for (int d = 1; d < richTextBox1.Lines.Length - 1; )/*Tạo vào lặp để chạy kiểm tra theo từng dòng định sẵn ko cố định là chạy từng dòng 1*/{
i = Convert.ToInt32(amarray[d].Length);/*Điếm số ký tự có trong dòng*/f = Convert.ToInt32(amarray[d + 1].Length);
a = amarray[d].Substring(17, i - 17);/*SubString(Ký Tự bắt đầu cắt,độ dài chuỗi cần cắt)*/
ms = amarray[d + 1].Substring(19, f - 19);
if (textBox1.Text == a && textBox2.Text == ms)/*Kiểm tra Account và Pass*/
{
for (int w = d; w < d + 6; w++){
s += amarray[w] + "\n";
}
MessageBox.Show(s, "Thong Tin Khac hang");
}
d += 6;/*tăng dòng kiểm tra lên đến người tiếp theo*/
}
if (textBox1.Text.Length == 0)
{
MessageBox.Show("Chua Nhap ten","Error");
textBox1.Focus();
goto t;
}
if (textBox2.Text.Length == 0)
{
MessageBox.Show("Chua Nhap Ma So","Error");
goto tt;
}
if (textBox1.Text != a || textBox2.Text != ms)
{
MessageBox.Show("Ten Hoac Ma so sai xin nhap lai", "Error");
textBox1.Focus();
}
t:{};
}
Bài Ví Dụ
ListBox, ComBobox, CheckBox, RadioButton,CheckListBox, GroupBox,NumericupDown ,DomainUpDown C #
- ListBox, ComBobox
- CheckBox and RadioButton and CheckListBox
- GroupBox And DomainUpDown, NumericupDown
ListBox, ComBobox
Như được biết các event or properties của combobox và listbox giống nhau nên đây chỉ giới thiệu về listbox Các Dòng Code của cả 2 Combo và List(tác dụng của chúng có giống nhau hay không khi áp dụng cái này lên cái kia ^-^ ) - comboBox1.Items.IndexOf(textBox1.Text) >= 0;/*Xét xem khi nhập giá trị vào có bị trùng không*/
- comboBox1.Items.Add(textBox1.Text);/*nhập Giá trị vào chú ý cả combo voi list ddieuf có thể nhập giá trị từ ngoài vào bằng Properties items( collection)*/
- listBox1.Items.Count /*Hàm điếm */
- listBox1.Items.Clear();/*Xoá hết Tất cả các items có */
- comboBox1.SelectedItem;/*Chọn item*/
- listHoten.SetSelected(i, true);/*Chọn các value có kèm theo điều kiện*/
for (i = 0; i < listHoten.Items.Count; i++)
{ k = Convert.ToInt32(listHoten.Items[i]); if (k % 2 == 0) listHoten.SetSelected(i, true); }
- listHoten.Items.Remove(listHoten.SelectedItem);/*Remove xoá Item đã chọn Removeat xoá Item đã chọn theo thứ tự bất đầu từ 0*/
CheckBox and RadioButton and CheckListBox
CheckBox, RaidioButton, CheckListBox điều sử dụng rất đơn giản chỉ cần chèn code vào event là có thể sài được- Ở đây mình chỉ biết sử dụng 1 event đơn giản của nó thôi ^-^ đó là checkBold.Checked = true;/*Mặc định là true hay false*/
GroupBox and DomainUpDown,NumericupDown
- GroupBox khi đưa bất kì control nào vào thí nó cũng được sở hữu bởi GroupBox và ta có thể tạo thành 1 nhóm các control có liên quan.
- DomainUpDown ta nhập giá trị vào Collection và sau đó chọn giá trị, tính ra DoMainUpDow Select giá trị cũng gần giống như listBox
- NumericUpDown để lấy giá trị khi chọn thì NumericUpDown.Value;
Load Form, Show Form , Hide Form, Exit Program, FormClosing C#
static void Main()Show Form
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());/* Chỉ Cần đổi tên là Form Khác sẽ được Load lên*/
}
+ Show 1 Form mới hoàn toàn như khởi tạo 1 class mới
Form1 f1= new Form1();+ Show 1 Form mà xem coi Form đó có Load chưa và nếu chưa exit thì hiện Form đó lên
f1.Show();
Form f1=Application.OpenForm[Form1];Hide Form
if(f1==null)
f1=new Form1();
f1.show();
Dùng hide có sẵn trong Đối tượng
code
this.Hide();/*Hide cái form đang xét/Exit Program
f1.Hide();/** hide form khởi tạo lúc nãy/
code
Application.Exit();
Form Closing
DialogResult r;Form Exit
r = MessageBox.Show("Do you really want to close","Ex1",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1);
if (r == DialogResult.No)
e.Cancel = true;
This.Close();
Note ; Focus Quay trở lại đầu Object Đã chọn thường là textbox
Timer , MenuTrip,ErrorProvider,ConTextMenuTrip,Trong C#
Timer
errorProvider
code
Control ctr=(Control)sender;/* tạo biến Control để sử dụng cho hết các object khác*/MenuTrip and ContextMenuTrip
if (ctr.Text.Length>0&& Char.IsDigit(ctr.Text[ctr.Text.Length - 1]))
errorProvider1.SetError(ctr,"nhan so");/*nếu sai thì hiện lỗi kiểm tra từng từ nhập vào */
else
{
errorProvider1.Clear();
}
/*Note : Char.IsDigit(ctr.Text[ctr.Text.Length - 1]): ký tự nhập vào Không là số
ctr.Text.Length>0 ctr.text.Trim()=="" : Chuỗi ko được rỗng
Char.IsDigit(e.KeyChar) --> kiểm tra xem phím vừa nhập vào textbox có phải là ký tự số hay không, hàm này trả về kiểu bool
Char.IsContro(e.KeyChar) --> kiểm tra xem phím vừa nhập vào textbox có phải là các ký tự điều khiển (các phím mũi tên,Delete,Insert,backspace,space bar) hay không, mục đích dùng hàm này là để cho phép người dùng xóa số trong trường hợp nhập sai.*/
Note:
+ Key Shortcut
vào Properties vào Shortcut key để chỉnh VD như ctr+ A
+ Alt Phím tắt Thêm & ngay sau chữ cần đặt phím tắt
Về code không khác gì so với các Object
Thay đổi Màu Font kiểu Chữ Trong C#
+ Thay đổi màu
code
textBox1.ForeColor = Color.Red;/*forecolor: đổi màu text còn backcolor đổi màu hết textbox*/+ Thay đổi Font
code
FontFamily f = new FontFamily("Times New Roman");/*Khởi tạo font mới*/+ Thay đổi Style(Định Dạng)
textBox1.Font = new Font(f,textBox1.Font.Size);/* Gnas forn mới cho font cần đổi*/
/*Note: Đánh tên Font Phải đánh cho chính xác*/
code
textBox1.Font = new Font(textBox1.Font,textBox1.Font.Style^FontStyle.Bold);/*Gán Style mới cho font cần gán*/Thay Đổi tùy Chọn
Khởi Tạo và chạy

Code
+ Font
if (fontDialog1.ShowDialog() == DialogResult.OK)+ Color
textBox1.Font = fontDialog1.Font;/*khởi đọng Fontdialog và thay đổi Font mới*/
if (colorDialog1.ShowDialog() == DialogResult.OK)
textBox1.ForeColor = colorDialog1.Color;/*Khởi tạo colordialog và thay đổi color mới */
Lấy Giá trị từ Form Này sang Form khác "Delegate" C#
Form 1: Form Nhận giá Trị
private void button1_Click(object sender, EventArgs e)Form 2 : Form nhập Giá trị Và truyền sang Form 1
{
Form2 f2 = new Form2();/*Tạo Form 2 mới*/
f2.value = new Form2.Getstring(Getvalue);/*gán Giá Trị Từ Methol value cua form 2 sang getvalue cua form 1 */
f2.Show();/*Hiện Form 2*/
}
public void Getvalue(string s)
{
textBox1.Text = s;/*Gán Giá Trí chuỗi S(nhận giá trị từ bên form 2)vào textBox1*/
}
public delegate void Getstring ;/*Tạo Thư viện Getstring trong delegate */
public Getstring value;/*Tạo Methol Value Trong Thư Viện mới tạo Getstring*/
if (value != null)/*Điều kiện để Gán Giá Trị*/Note: public delegate void Getstring(string ten) ta có thể nhập nhiều giá trị cho thư viện Getstring như sau public delegate void Getstring(string ten,string d,int 5,.....)
value(textBox1.Text);/*Gán giá trị*/
Hình Minh hoạ
Savedialog C#
Tạo Control Savedialog

Code
save.FileName = ".doc";/*tên File Cần lưu*/
save.Title = "Save văn bản";/*Tiêu đề cho giao diện save*/
save.InitialDirectory = "C:";/*Địa chỉ save*/
save.Filter = "Doc Document |.* doc";/*Gốc để save file*/
if (save.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(save.FileName);
}
Opendialog C#
Tạo control openDialog
Mở văn bản
code
string s = "";
openFile.InitialDirectory = "C:";// tạo đường dẫn cho Open
openFile.Title = "Open a Text File";// Tiêu đề cho giao diện
openFile.FileName = "";//Tên file
openFile.Filter = "Text Files|*.txt|Word Documents|*.doc";// Chỉ định gốc của file cần mở
DialogResult a = openFile.ShowDialog();//Gán Ofject open cho 1 biến DialogResult
if (a == DialogResult.OK)// nếu chọn ok thì nở file
{
s = openFile.FileName;
richTextBox1.LoadFile(s, RichTextBoxStreamType.PlainText);/* Mở file văn bản nhập vào Richtexbox */
}
/* chú ý RichTextBoxStreamType có nhiều lựa chọn PlainText: add vao richtexbox hết tất cả những gì có trong file văn bản kể cả space or tab

RichText: chỉ nhập đúng văn bản có khoảng cách

*/
Mở picture
code
openFile.InitialDirectory = "C:";// tạo đường dẫn cho Open
openFile.Title = "Open a Text File";// Tiêu đề cho giao diện
openFile.FileName = "";//Tên file
openFile.Filter = "JPEG Images | *.jpg";// Chỉ định gốc của file cần mở
DialogResult a = openFile.ShowDialog();//Gán Ofject open cho 1 biến DialogResult
if(a==DialogResult.OK)
{
pictureBox1.Image =Image.FromFile(openFile.FileName);
}







