我正在尝试获取所选的项目文字。我在下面使用了这段代码
MessageBox.Show(listBoxColumnHeaders.SelectedItems);
输出
Devexpress.XtraEditors.BaseListboxControl+SelectedItemCollection
但我的文字是国家
更新
我从另一个类添加列表框项。该课程使用以下代码调用FilterColumnHeader
FilterControl fc = Application.OpenForms.OfType<FilterControl>().SingleOrDefault();
List<FilterColumnHeader> headers = new List<FilterColumnHeader>();
while (rd.Read())
{
headers.Add(new FilterColumnHeader { typeOfHeader = rd["type"].ToString(), columnHeadersName = rd["AsHeading"].ToString() });
}
fc.listBoxColumnHeaders.DisplayMember = "columnHeadersName";
fc.listBoxColumnHeaders.ValueMember = "typeOfHeader";
fc.listBoxColumnHeaders.DataSource = headers;
现在当我尝试使用以下代码进行打印时,
MessageBox.Show(""+ listBoxColumnHeaders.SelectedItems[0].ToString());
它显示在下面的消息框中
`ProjectName.FilterColumnHeader`
答案 0 :(得分:0)
SelectedItems 属性返回所选对象的集合。您需要做的就是将所需对象强制转换为您的类型:
var filterColumnHeader = (FilterColumnHeader)listBoxControl.SelectedItems[0];
答案 1 :(得分:0)
我不知道您是否找到答案,但这对我有用:
StringBuilder list = new StringBuilder();
foreach(var item in listBoxColumnHeaders.SelectedItems)
{
list.AppendLine(item as string);
}
MessageBox.Show(list.ToString());