PDA

View Full Version : Sự kiện Click_chuột phải trong C#



nonotoet
04-09-2007, 10:00
Mình muốn bắt sự kiện Click nhưng là chuột phải vào một điều khiển nào đó(textBox chẳng hạn) và nó sẽ sổ ra một cột các điều khiển cho mình click như mình vẫn thường thao tác với máy(ví dụ như: copy, paste,select all...). Mình phải làm thế nào?

trieudoahong
04-09-2007, 11:10
thì ta tạo 1 context menu và set cái property của control đó có context menu là cái menu mình mới tạo.

Tienlbhoc
04-09-2007, 16:26
thế hỏi thêm, sự kiện di chuyển chuột giữa, rồi phím lên xuống phải trái thì như thế nào

nonotoet
04-09-2007, 19:24
Bạn có thể hướng dẫn kĩ hơn ko. Nếu có một đoạn code thì càng tốt.

thanhbinhntu
05-09-2007, 20:17
mình đang định viết chương trình mô phỏng paint. nhung không rành về chuột trong C# . bạn nào biết chỉ hộ với. thanks

huynhvothinh
08-09-2007, 09:08
Mình muốn bắt sự kiện Click nhưng là chuột phải vào một điều khiển nào đó(textBox chẳng hạn) và nó sẽ sổ ra một cột các điều khiển cho mình click như mình vẫn thường thao tác với máy(ví dụ như: copy, paste,select all...). Mình phải làm thế nào?
câu hỏi của bạn chính là popup menu trong text box, làm như sau:
-vào toolbox, tạo 1 "ContextMenuStrip" ,có thể sửa tên là Popup, sau đó bạn tạo những menu như copy, past...
-chọn thuộc tính Property của text box, tìm thuộc tính "ContextMenuStrip",click chuột vào ô nhập dữ liêu bên phải tên nó và chọn tên "Popup" vừa đặt bên trên.
-Chạy chương trình, bạn sẽ thấy nó ngay khi click chuột phải

nnhthuan
08-11-2007, 23:08
mouseclick

















a

chienmdht
07-11-2008, 23:04
Bạn ơi thế mình muốn bắt cả hai sự kiện nhấn Ctrl và cả chuột phải thì làm thế nào nhỉ?
Giúp mình với!
Cảm ơn các bạn nhiều nhé.

ngocbig
08-11-2008, 00:29
bool ctrDown;
public Form1()
{
InitializeComponent();
}
private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (ctrDown)
{
this.textBox1.ContextMenuStrip = contextMenuStrip1;

}
else
{
this.textBox1.ContextMenuStrip = null;
}
}
}

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
Text=(ctrDown = e.Control).ToString();
}

private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
ctrDown = false;
Text = ctrDown.ToString();
}

private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
ctrDown = false;
Text = ctrDown.ToString();
}

chienmdht
09-11-2008, 11:04
Cảm ơn bạn nhé.
Mình hiểu ý tưởng này rồi. Ý của mình là bắt đồng thời hai sự CTRL và chuột Phải để làm một việc gì đó.-->dùng 3 sự kiện Keyup,Keydown và MouseCLick.
Mình áp dụng ý tưởng của bạn làm được rồi. Cảm ơn nhiều nhé!