ListView没有添加项目

时间:2019-02-11 12:41:29

标签: c#

private void ItemGet()
{
    for (int i = 0; i < this.listview2.VirtualListSize; i++)
    {
        var address = this.listview2.Items[i].Text;
        int item_aid = this.lib.ReadInt32((IntPtr)(long.Parse(address, NumberStyles.HexNumber) + ItemData.oFFSET_AID));
        int item_id = this.lib.ReadInt32((IntPtr)(Convert.ToInt32(address, 16) + ItemData.oFFSET_ID));
        int item_type = this.lib.ReadInt32((IntPtr)(Convert.ToInt32(address, 16) + ItemData.oFFSET_TYPE));

        if ((item_aid.ToString().Length == 6) && (item_aid > 110000 && item_aid < 200000) 
            && item_id.ToString().Length == 3 - 6)
        {
            this._itemslist.Add(new ItemResults(item_aid, item_aid, item_type));
            this.ItemDetailsListView.Items.Add(new ListViewItem(new string[] { 
                item_aid.ToString(), 
                item_id.ToString(),
                item_type.ToString()}));
            MessageBox.Show(item_aid.ToString());
        }
    }
}

当我放入消息框显示消息框未弹出时,我使用作弊引擎库扫描值并将其放在列表视图中,我不知道为什么它不起作用

private void ScanTimer_Tick(object sender, EventArgs e)
{
    this.ScanTimer.Enabled = false;

    this.lib.iResetValues();
    this.listview1.Refresh();
    this.listview2.Refresh();

    if (this.started)
    {
        var t = Task.Factory.StartNew(() => GetMonster()).ContinueWith((itemgetTask) => ItemGet()).ContinueWith((attackTask) => Attacks()).ContinueWith((teleportTask) => Teleport()).ContinueWith((pickuptTask) => Pickup());
        Task.WaitAll(t);

        this.lib.iNewScan();
        MonsterScannerTimer.Start();
        ItemScannerTimer.Start();
    }
}

我在这里叫它。

1 个答案:

答案 0 :(得分:0)

第一次回答问题,希望能为您提供帮助。

也许最好将通常直接添加到列表中的数据存储到ObservableCollection中。

这里是该课程的链接:https://docs.microsoft.com/de-de/dotnet/api/system.collections.objectmodel.observablecollection-1?view=netframework-4.7.2

有很多方法可以将其添加到列表视图中。