【发布时间】:2011-04-23 06:59:49
【问题描述】:
当我渲染 contextmenustrip 时,它会在我的 PC 屏幕的左上角渲染。我有一个列表视图,其中包含 5-6 个项目,右键单击每个项目时,会显示上下文菜单条。此外,我还需要更改上下文菜单条的颜色,包括背景和文本。
提前致谢!
【问题讨论】:
标签: c# winforms visual-studio-2008 contextmenustrip
当我渲染 contextmenustrip 时,它会在我的 PC 屏幕的左上角渲染。我有一个列表视图,其中包含 5-6 个项目,右键单击每个项目时,会显示上下文菜单条。此外,我还需要更改上下文菜单条的颜色,包括背景和文本。
提前致谢!
【问题讨论】:
标签: c# winforms visual-studio-2008 contextmenustrip
您没有显示任何代码,但是如果您没有调用将控件作为参数的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);
}
}
【讨论】: