[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
        public struct MIDIOUTCAPS
        {
            public int wMid;
            public int wPid;
            public long vDriverVersion;
           [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 300)]
            public string szPname; // Here's the problem
            public int wTechnology;
            public int wVoices;
            public int wNotes;
            public int wChannelMask;
            public long dwSupport;
        }         w=midiOutGetDevCaps(i, out midioutcaps, Marshal.SizeOf(midioutcaps));         comboBox1.Items.Add(midioutcaps.szPname.ToString());为什么运行后,combox里不能完全显示结构中的szpname字符串,只显示szpname的一半字符,哪里出了问题,求助??

解决方案 »

  1.   

    combox的宽度不够,没显示全?
      

  2.   

    http://www.cnblogs.com/adandelion/archive/2009/01/07/1371247.html comboxBox的下拉列表宽度自适应内容的宽度
      

  3.   

    有一个combox显示正常,这个怎么也显示不正常??
      

  4.   

    combox控件的宽度我拉的很长,为什么字符串还是不能完全显示出来,只显示后半部分的字符,前半部分显示不出来,字符串后面还有很长的宽度??
      

  5.   

     AdjustComboBoxDropDownListWidth(comboBox1);这个方法用了之后,还是不行
      

  6.   

    我知道了,不是宽度设置问题,是读取midioutcaps.szPname时,只读了整个字符串szpname的半个字符串,所以combox只显示了那一部分,这个怎么回事??