我制作了一個顯示影像的ListView 。我添加了一個MouseDown事件處理程式,并在里面做了:
private void FooListView_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
var focusedItem = ltView.FocusedItem;
if (focusedItem != null && focusedItem.Bounds.Contains(e.Location))
cmsIconMenu.Show(FooListView, e.Location);
else
MessageBox.Show("Vous n'avez sélectionné(e) aucune ic?ne.");
}
}
因為左鍵單擊然后右鍵單擊以直接保存影像很糟糕。其他應用程式沒有這個問題。所以我需要添加一些代碼來檢查:用戶右鍵單擊 ListView 專案,將其聚焦并顯示背景關系選單。
我實際上嘗試過:檢查我丟失了鏈接但它不起作用的帖子。
(問我是否沒有關于我的問題的足夠詳細資訊)。
(它是法語,因為它是我的應用程式的法語版本)
uj5u.com熱心網友回復:
好的,所以答案是Jimi的答案。所以我的案例的代碼是
private void FooListView_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
var lv = sender as ListView; // [...]
var item = lv.HitTest(e.Location).Item;
if (item == null)
{
MessageBox.Show("Vous n'avez sélectionné(e) aucune ic?ne."); //In English it's You haven't selected any icons (images).
}
else
{
lv.FocusedItem = item;
cmsIconMenu.Show(lv, e.Location);
}
}
}
謝謝吉米!
您也可以將方法的名稱替換為另一個名稱但保留這些引數(引數)!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/491493.html
