作者deduce ()
看板C_Sharp
标题Re: [问题] ListBox的右键选单功能
时间Sat Aug 19 23:55:18 2006
※ 引述《cole945 (躂躂..)》之铭言:
: ※ 引述《Jazznight777 (爵色)》之铭言:
: : 我的contextmenu、listbox都建好了..不过有一些细部设定想向大家请教..
: : listbox的ContextMenuStrip是整个listbox区块的..
: : 如果我想把右键选单改成只对每个项目有效..
: : 请问我该怎麽设定呢??
: : 另外如果我想要在某一个项目上点右键..就会顺便选取这个项目..
: 在 MouseDown 时取点选座标 e.X, e.Y
: 然後用 ListBox.IndexFromPoint(...)来取得对应的索引值..
: 利用这个Index去选取项目~
: : 是想要让右键除了有选单功能..也有点选功能..
: : 先谢谢大家喔 :)
刚刚本来回了一篇,後来发现问题只有回答到一半
於是加了下面的if判断
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
Point point = new Point();
point.X = e.X;
point.Y = e.Y;
listBox1.SelectedIndex = listBox1.IndexFromPoint(point);
if (e.Button == MouseButtons.Right && listBox1.SelectedIndex != -1)
{
contextMenuStrip1.Show(MousePosition);
}
}
主要是判断,倘若是滑鼠右键按下且有选取到item的话
就把contextMenuStrip show在目前 mouse的position上
目前只想到这种作法,请多指教!
--
华夫人:我们一日丧命散是用七种不同的毒虫,再加上了鹤顶红,
提炼了七七四十九日而成的,无色无味,杀人於无影无踪!
唐伯虎:哼!我们含笑半步癫是用蜂蜜、川贝、桔梗、加上天山雪莲配制而成,
不需冷藏,也没有防腐剂,除了毒性猛烈之外,味道还很好吃!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.10.91