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

      1. Button:Button được nhấn {Left, Right, Middle, none} có kiểu là MouseButtons
      2. Clicks:Số lần button được nhấn
      3. X,Y:Là Tọa độ x,y của con trỏ chuột trong control
  • 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

  1. 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;
  2. Đă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 #

  1. ListBox, ComBobox
  2. CheckBox and RadioButton and CheckListBox
  3. 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;
Đây Chưa Phải là căn bản vì mình còn thua 1 amateur

Load Form, Show Form , Hide Form, Exit Program, FormClosing C#

Load Form
static void Main()
{
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 Form
+ Show 1 Form mới hoàn toàn như khởi tạo 1 class mới
Form1 f1= new Form1();
f1.Show();
+ Show 1 Form mà xem coi Form đó có Load chưa và nếu chưa exit thì hiện Form đó lên
Form f1=Application.OpenForm[Form1];
if(f1==null)
f1=new Form1();
f1.show();
Hide Form
Dùng hide có sẵn trong Đối tượng
code
this.Hide();/*Hide cái form đang xét/
f1.Hide();/** hide form khởi tạo lúc nãy/
Exit Program
code
Application.Exit();

Form Closing
DialogResult r;
r = MessageBox.Show("Do you really want to close","Ex1",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1);
if (r == DialogResult.No)
e.Cancel = true;
Form Exit
This.Close();
Note ; Focus Quay trở lại đầu Object Đã chọn thường là textbox

Timer , MenuTrip,ErrorProvider,ConTextMenuTrip,Trong C#

Khởi Tạo
Timer
errorProvider
code
Control ctr=(Control)sender;/* tạo biến Control để sử dụng cho hết các object khác*/
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.*/
MenuTrip and ContextMenuTrip

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 cố định
+ 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*/
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*/
+ Thay đổi Style(Định Dạng)
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)
textBox1.Font = fontDialog1.Font;/*khởi đọng Fontdialog và thay đổi Font mới*/
+ Color
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#

Code
Form 1: Form Nhận giá Trị
private void button1_Click(object sender, EventArgs e)
{
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*/
}
Form 2 : Form nhập Giá trị Và truyền sang Form 1
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ị*/
value(textBox1.Text);/*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,.....)
Hình Minh hoạ

Savedialog C#

Savedialog
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#

Opendialog
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);
}