2
我從ContextMenuStip
得到一些奇怪的行爲:古怪行爲從的ContextMenuStrip
private void lstModules_MouseMove(object sender , MouseEventArgs e)
{ mouse = e.Location; }
private void lstModules_MouseDown(object sender , MouseEventArgs e)
{
ListViewItem item = null;
if((hitTest = lstModules.HitTest(mouse)) != null)
item = hitTest.Item;
switch (e.Button)
{
case MouseButtons.Right:
if (item != null)
{
// valid item selection
ShowModuleDetails(item.Name);
lstModules.ContextMenuStrip = mnuContext_Module;
}
else
{
// right-click - no item selection
lblModuleDetails.Text = string.Empty;
lstModules.ContextMenuStrip = mnuContext_Desktop;
}
lstModules.ContextMenuStrip.Show(lstModules , mouse);
break;
case MouseButtons.Left:
if (item != null)
{ ShowModuleDetails(item.Name); }
break;
}
}
private void ShowModuleDetails(string modName)
{
// get module details from dictionary
lblModuleDetails.Text = Modules[modName].Details;
}
- 在列表視圖中的項目時上下文菜單顯示不正確選擇。換句話說,當選擇該項目時,詳細字符串值將顯示在標籤控件中。
- 如果上下文菜單可見並且選擇了某個項目,則項目詳細信息不會更改。
- 上下文菜單位置短暫出現在舊的鼠標位置,然後移動到新的鼠標位置。
有沒有我做錯了上下文菜單?
顯然,你是一個天才。我想我在這種情況下看不到樹木的森林...... thx! – IAbstract 2010-02-06 16:45:49