private void listView_items_data_DoubleClick(object sender, EventArgs e) { if (listView_items_data.SelectedIndices.Count > 0) { //action to this item uint id = Util.GetUInt32(listView_items_data.Items[listView_items_data.SelectedIndices[0]].SubItems[2].Text); if (Globals.ItemLock.TryEnterReadLock(Globals.THREAD_WAIT_GUI)) { try { ItemInfo item = Util.GetItem(id); if (item != null) { ServerPackets.ClickItem(id, Util.Float_Int32(item.X), Util.Float_Int32(item.Y), Util.Float_Int32(item.Z), Globals.gamedata.Shift); } } finally { Globals.ItemLock.ExitReadLock(); } } } }