mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-10-03 10:36:30 +13:00
Fix potential multiple opening of same sub menu
This commit is contained in:
parent
61e10bea00
commit
b12d4ad656
1 changed files with 10 additions and 1 deletions
|
@ -20,6 +20,7 @@ namespace SystemTrayMenu.Handler
|
||||||
private int rowIndex;
|
private int rowIndex;
|
||||||
private ListView dgvTmp;
|
private ListView dgvTmp;
|
||||||
private int rowIndexTmp;
|
private int rowIndexTmp;
|
||||||
|
private bool alreadyOpened;
|
||||||
|
|
||||||
private int mouseMoveEvents;
|
private int mouseMoveEvents;
|
||||||
private DateTime dateTimeLastMouseMoveEvent = DateTime.Now;
|
private DateTime dateTimeLastMouseMoveEvent = DateTime.Now;
|
||||||
|
@ -170,8 +171,10 @@ namespace SystemTrayMenu.Handler
|
||||||
|
|
||||||
private void CallOpenMenuNow()
|
private void CallOpenMenuNow()
|
||||||
{
|
{
|
||||||
if (dgv.Items.Count > rowIndex)
|
if (dgv.Items.Count > rowIndex && !alreadyOpened)
|
||||||
{
|
{
|
||||||
|
alreadyOpened = true;
|
||||||
|
|
||||||
RowData rowData = ((ListViewItemData)dgv.Items[rowIndex]).data;
|
RowData rowData = ((ListViewItemData)dgv.Items[rowIndex]).data;
|
||||||
Menu menu = (Menu)dgv.GetParentWindow();
|
Menu menu = (Menu)dgv.GetParentWindow();
|
||||||
rowData.Level = menu.Level;
|
rowData.Level = menu.Level;
|
||||||
|
@ -193,6 +196,12 @@ namespace SystemTrayMenu.Handler
|
||||||
|
|
||||||
private void SetData(ListView dgv, int rowIndex)
|
private void SetData(ListView dgv, int rowIndex)
|
||||||
{
|
{
|
||||||
|
if (this.dgv == dgv && this.rowIndex == rowIndex)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
alreadyOpened = false;
|
||||||
dgvTmp = null;
|
dgvTmp = null;
|
||||||
this.dgv = dgv;
|
this.dgv = dgv;
|
||||||
this.rowIndex = rowIndex;
|
this.rowIndex = rowIndex;
|
||||||
|
|
Loading…
Reference in a new issue