C#的ListBox加入隐含对象处理手法与Delphi的对比

   Delphi在ListBox里面item若需要关联额外的对象, 可以用Object来关联, 而C#更方便,因为它的listbox.items.add参数便是object, 但需要override ToString方法才能将显示的内容显示出来,否则只会显示对象的类名. 下面是例子:

private class T96ToDisplay:T96PDLogTable
        {
            public override String ToString()
            {
                return  f96_result_type + ": " + f96_result;
            }
        } 

上面先定义一个用于显示的类,下面将List中每个对象加入到ListBox里:

lstT96.Items.Clear();
                    List<T96ToDisplay> lvT96List = JsonConvert.DeserializeObject<List<T96ToDisplay>>(lvsOutput);
                    foreach(T96ToDisplay item   in lvT96List)
                    {
                        if (!item.f96_op.Equals("PD-AS")) continue;
                        lstT96.Items.Add(item);
                    } 

由于重写了ToString,所以在UI上显示的就是f96_result_type&f96_result.


猜你喜欢

转载自blog.csdn.net/rocklee/article/details/80178109