当我渲染 contextmenustrip 时,它会在我的 PC 屏幕的左上角渲染。我有一个列表视图,其中包含 5-6 个项目,在每个项目上单击鼠标右键,都会显示上下文菜单条。我还需要更改上下文菜单条的颜色,包括背景和文本。
提前致谢!
当我渲染 contextmenustrip 时,它会在我的 PC 屏幕的左上角渲染。我有一个列表视图,其中包含 5-6 个项目,在每个项目上单击鼠标右键,都会显示上下文菜单条。我还需要更改上下文菜单条的颜色,包括背景和文本。
提前致谢!
您没有显示任何代码,但是如果您没有调用将Show
控件作为参数的重载,new Point(0, 0)
那么您显然传递的那个会将菜单放在屏幕的左上角。
到目前为止,最简单的方法是将 ListView.ContextMenuStrip 属性设置为您的 CMS,然后一切都是自动的。您可以在设计器中这样做。
如果出于某种原因需要自定义处理程序,例如检查是否单击了正确的项目,则可以使用如下代码调用 Show() 方法属性:
private void listView1_MouseClick(object sender, MouseEventArgs e) {
if (allowContextMenu(listView1.SelectedItems) {
contextMenuStrip1.Show(listView1, e.Location);
}
}