如果我对此有正确的解决方法,不知道该怎么办?以下结构的内容在其他地方定义。当我运行代码时,它只是输出一个4个零的列表。任何帮助将不胜感激.....如何在c#窗体窗体应用程序中的列表框中显示结构的内容
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;
}
}
你的外部函数SPI_GetChannelInfo是否具有DllImport属性?你有没有尝试调试外部代码(如果可以的话)? – 2014-11-24 13:41:23
是的,它导入一个C DLL,我知道它是作为 我已经输出其内容到其他文本框。我似乎无法将所有参数输出到列表框中,也许这是因为它们是不同类型的参数uint和string? – john 2014-11-24 13:49:12
我离开了DllImport属性,使其更简单 – john 2014-11-24 13:55:01