如何在ac#Windows窗体应用程序的列表框中显示结构的内容

约翰

邓诺(Dunno),如果我对此采取正确的方法?下面结构的内容在其他地方定义。当我运行代码时,它只是输出4个零的列表。任何帮助将不胜感激.....

public class NativeMethods
{

    public struct FT_DEVICE_LIST_INFO_NODE
    {
        public uint ID;
        public uint LocId;       
        public string SerialNumber;           
        public string Description;
    }

    [DllImportAttribute(@"C:\Users\Brendan\Documents\libMPSSE.dll", EntryPoint = "SPI_GetNumChannels")]
    public static extern uint SPI_GetChannelInfo(uint index, ref FT_DEVICE_LIST_INFO_NODE chanInfo);
}



public partial class Form1 : Form
{
    List<uint> items = new List<uint>();

    public Form1()
    {

        InitializeComponent();

        NativeMethods.FT_DEVICE_LIST_INFO_NODE devlist = new NativeMethods.FT_DEVICE_LIST_INFO_NODE();

        for(uint x=0;x<4;x++)
        {

        index = 0;
        items.Add(NativeMethods.SPI_GetChannelInfo(index, ref devlist));

         }
        listBox.DataSource = items;
    }
}
塔瓦

既然您写过您的结构在其他地方定义,我假设您不能更改它。

获取自定义显示字符串的通常方法是结构包装在最小类中,也许像这样:

class FT_DEVICE_wrapper
{
    public FT_DEVICE_LIST_INFO_NODE INFO_NODE { get; set; }

    public FT_DEVICE_wrapper(FT_DEVICE_LIST_INFO_NODE data_)
    { INFO_NODE = data_; }

    public override string ToString()
    {
        return string.Format("ID = {0} LocID = {1} SNr = {2} ({3}) ", 
          INFO_NODE.ID, INFO_NODE.LocId, INFO_NODE.SerialNumber, INFO_NODE.Description);
    }

}

现在,您可以像这样添加包装器的实例:

private void button1_Click(object sender, EventArgs e)
{
    FT_DEVICE_LIST_INFO_NODE N1 = new FT_DEVICE_LIST_INFO_NODE();
    N1.ID = 1;
    N1.LocId = 1001;
    N1.SerialNumber = "123-456-00";
    N1.Description = "test 01";
    FT_DEVICE_wrapper W1 = new FT_DEVICE_wrapper(N1);

    listBox1.Items.Add(W1);

}

如您所见,无论采用哪种格式格式化输出字符串,都将显示结构的数据。

您可以通过像这样投射项目来访问结构

Console.WriteLine( ((FT_DEVICE_wrapper) listBox1.Items[0]).INFO_NODE.Description );

或者,imo像这样更好一些:

FT_DEVICE_LIST_INFO_NODE node = ((FT_DEVICE_wrapper)listBox1.Items[0]).INFO_NODE;
Console.WriteLine(node.SerialNumber);

可能需要考虑研究ListViews,哪些支持列;在这里,添加结构的方法将大不相同,因为您希望将某些日期字段放入单独的列中。

如果要使用DataBinding,请先创建一个适当的List:

List<FT_DEVICE_wrapper> items = new List<FT_DEVICE_wrapper>();

然后更换

listBox1.Items.Add(W1);

经过

items.Add(W1);
listBox1.DataSource = items;

注意:只需ToString在原始结构中添加一种方法,您就可以对结构进行冷处理,从而使结构在ListBox没有包装情况下显示良好

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ac#Windows窗体应用程序的列表框中显示结构的内容

来自分类Dev

如何在Windows Phone 7应用程序的列表框中显示完整数据

来自分类Dev

为列表框中的每个项目添加价格-C#.Net,Windows窗体应用程序

来自分类Dev

如何从列表框C#Windows应用程序中获取多个选定值

来自分类Dev

即使在mvvm Windows Phone应用程序中返回后,列表框也会突出显示选定的项目

来自分类Dev

Windows窗体应用程序:显示内容行

来自分类Dev

如何在Windows窗体应用程序中获取所有窗体

来自分类Dev

如何在组框Windows窗体应用程序中使动态按钮居中

来自分类Dev

如何在Windows窗体应用程序中使用“广告”对话框“选择用户或组”?

来自分类Dev

如何在C Sharp Windows窗体应用程序中从窗体2修改窗体3中的值

来自分类Dev

线对象未显示在Windows窗体应用程序中

来自分类Dev

如何使用Windows窗体应用程序获取文本框中的文件路径?

来自分类Dev

如何在Windows 10中显示已安装的应用程序列表(仅“ Metro”)?

来自分类Dev

如何在Windows Phone中使用C#在列表框中显示完整数据

来自分类Dev

如何在CheckedListBox中选中一个框而列表中的项目是C#窗口窗体应用程序中的自定义对象?

来自分类Dev

如何将组合框数据源绑定到Windows窗体中的窗体/列表框?

来自分类Dev

如何使用C#Windows应用程序在列表框中添加带有文件图标的文件类型?

来自分类Dev

如何在Windows窗体应用程序中访问文本文件

来自分类Dev

如何在C#Windows窗体应用程序中激活spellCheck?

来自分类Dev

如何在C#Windows窗体应用程序中动态创建网格

来自分类Dev

如何在Windows窗体中运行控制台应用程序代码?

来自分类Dev

如何在C#Windows窗体应用程序中创建平滑的形状动画运动?

来自分类Dev

如何在C#中从Windows窗体应用程序项目设置.dll文件的路径?

来自分类Dev

如何在Windows窗体应用程序中的复选框前添加图像

来自分类Dev

Phona应用程序列表框数据模板未显示控件

来自分类Dev

在Windows应用商店应用中垂直对齐列表框的内容

来自分类Dev

列表框未在 WPF 应用程序中排序

来自分类Dev

如何使用for循环在c#windows窗体应用程序中检查文本框是否为空,使用数组

来自分类Dev

如何在列表框中显示XML值或如何在标签上显示?

Related 相关文章

  1. 1

    如何在ac#Windows窗体应用程序的列表框中显示结构的内容

  2. 2

    如何在Windows Phone 7应用程序的列表框中显示完整数据

  3. 3

    为列表框中的每个项目添加价格-C#.Net,Windows窗体应用程序

  4. 4

    如何从列表框C#Windows应用程序中获取多个选定值

  5. 5

    即使在mvvm Windows Phone应用程序中返回后,列表框也会突出显示选定的项目

  6. 6

    Windows窗体应用程序:显示内容行

  7. 7

    如何在Windows窗体应用程序中获取所有窗体

  8. 8

    如何在组框Windows窗体应用程序中使动态按钮居中

  9. 9

    如何在Windows窗体应用程序中使用“广告”对话框“选择用户或组”?

  10. 10

    如何在C Sharp Windows窗体应用程序中从窗体2修改窗体3中的值

  11. 11

    线对象未显示在Windows窗体应用程序中

  12. 12

    如何使用Windows窗体应用程序获取文本框中的文件路径?

  13. 13

    如何在Windows 10中显示已安装的应用程序列表(仅“ Metro”)?

  14. 14

    如何在Windows Phone中使用C#在列表框中显示完整数据

  15. 15

    如何在CheckedListBox中选中一个框而列表中的项目是C#窗口窗体应用程序中的自定义对象?

  16. 16

    如何将组合框数据源绑定到Windows窗体中的窗体/列表框?

  17. 17

    如何使用C#Windows应用程序在列表框中添加带有文件图标的文件类型?

  18. 18

    如何在Windows窗体应用程序中访问文本文件

  19. 19

    如何在C#Windows窗体应用程序中激活spellCheck?

  20. 20

    如何在C#Windows窗体应用程序中动态创建网格

  21. 21

    如何在Windows窗体中运行控制台应用程序代码?

  22. 22

    如何在C#Windows窗体应用程序中创建平滑的形状动画运动?

  23. 23

    如何在C#中从Windows窗体应用程序项目设置.dll文件的路径?

  24. 24

    如何在Windows窗体应用程序中的复选框前添加图像

  25. 25

    Phona应用程序列表框数据模板未显示控件

  26. 26

    在Windows应用商店应用中垂直对齐列表框的内容

  27. 27

    列表框未在 WPF 应用程序中排序

  28. 28

    如何使用for循环在c#windows窗体应用程序中检查文本框是否为空,使用数组

  29. 29

    如何在列表框中显示XML值或如何在标签上显示?

热门标签

归档