Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在drawmode设置为ownerdrawfixed的列表框中选择项目_Vb.net_Visual Studio 2010_Listbox - Fatal编程技术网

Vb.net 在drawmode设置为ownerdrawfixed的列表框中选择项目

Vb.net 在drawmode设置为ownerdrawfixed的列表框中选择项目,vb.net,visual-studio-2010,listbox,Vb.net,Visual Studio 2010,Listbox,我有一个列表框,我希望一些项目是不同的颜色,我理解要这样做,我必须设置drawmode为owner rDrawFixed。这很好,但是,现在我无法检索所选项目。在drawmode设置为normal的情况下,当我单击列表框中的某个项目时,我让它将该文本放入文本框中。在drawmode设置为ownerdrawfixed的情况下,当我单击一个项目时,我得到一个错误,即“从类型'item'转换为类型'string'无效。此外,列表框不再排序,即使排序属性设置为true(在ownerdrawfixed模式

我有一个列表框,我希望一些项目是不同的颜色,我理解要这样做,我必须设置drawmode为owner rDrawFixed。这很好,但是,现在我无法检索所选项目。在drawmode设置为normal的情况下,当我单击列表框中的某个项目时,我让它将该文本放入文本框中。在drawmode设置为ownerdrawfixed的情况下,当我单击一个项目时,我得到一个错误,即“从类型'item'转换为类型'string'无效。此外,列表框不再排序,即使排序属性设置为true(在ownerdrawfixed模式下)

公共类表单1
私有子表单1_Load(发送方作为System.Object,e作为System.EventArgs)处理MyBase.Load
将ac设置为整数
LstAll.DrawMode=DrawMode.OwnerDrawFixed
MaxRec=708
ChkShow=True
FileOpen(1,“C:\MyMov3\MovData.mdt”,OpenMode.Random,Len(Mv3Rec))
对于x=1至MaxRec
FileGet(1,Mv3Rec,x+1)
'这是彩色文本的If循环
如果Mv3Rec.Rc3Mlti=True且ChkShwMlti.Checked=True,则
ac=Asc(微调(Mv3Rec.Rc3MTitle))
如果ac>0,则
Dim i作为新项目()
i、 ItmColor=颜色。红色
i、 Txt=修剪(Mv3Rec.Rc3MTitle)
l所有项目。添加(i)
如果结束
如果结束
如果ChkShow=True,则
当处于ownerdrawfixed模式时,黑色文本需要Dim i As New Item()
i、 ItmColor=在ownerdrawfixed模式下,黑色文本需要“Color.Black”
i、 Txt=处于ownerdrawfixed模式时黑色文本所需的修剪(Mv3Rec.Rc3Title)'
在ownerdrawfixed模式下,黑色文本需要LstAll.Items.Add(i)'
'LstAll.Items.Add(Trim(Mv3Rec.Rc3Title))'此行在正常模式下添加文本
如果结束
下一个
文件关闭(1)
端接头
私有子LstAll_DrawItem(发送方作为对象,e作为System.Windows.Forms.DrawItemEventArgs)处理LstAll.DrawItem
如果e.指数<0,则返回
作为项目的Dim i
i=TryCast(所有项目(如索引),项目)
如果我不是什么都不是
e、 Graphics.DrawString(i.Txt、e.Font、新SolidBrush(i.ItmColor)、e.Bounds)
如果结束
端接头
私有子LstAll\u SelectedIndexChanged(发送方作为System.Object,e作为System.EventArgs)处理LstAll.SelectedIndexChanged
TextBox1.Text=LstAll.SelectedItem
端接头
私有子按钮1\u单击(发送者作为System.Object,e作为System.EventArgs)处理按钮1。单击
终点
端接头
末级
公共类项目
作为字符串的公共Txt
公共ITM颜色作为颜色
末级

这段代码只是最基本的部分……并在一个新项目中以空白表单进行了测试。它有一个列表框(重命名为LstAll)、一个文本框、一个复选框(重命名为ChkShwMlti)。这与我需要它工作的程序中的错误相同。但是,它确实使用了一个我没有包含…的结构的文件,但我认为您可以理解。

我已经解决了这个问题。在LstAll.SelectedIndexChanged中

    Dim i As New Item
    i = LstAll.SelectedItem
    TextBox1.Text = i.Txt
私有子LstAll\u SelectedIndexChanged(发送方作为System.Object,e作为System.EventArgs)处理LstAll.SelectedIndexChanged

    Dim i As New Item
    i = LstAll.SelectedItem
    TextBox1.Text = i.Txt
端接头


这是必要的。

如果你需要代码方面的帮助,你必须向我们展示代码。我们不是通灵者,我们也不住在你的电脑里。请阅读并接受道歉……这是一个新项目中用来演示问题的基本代码。现在不允许我粘贴代码……它说代码太长了好吧,我现在明白了唱我申报的班级“项目”“将项目添加到我正在添加的列表框中,而不是在正常模式下添加的文本。但是单击某个项目时,如何从列表框访问item.txt属性?请阅读并获取。你问了4个问题,得到了6个答案,但没有一个被接受。这篇文章解释了接受和投票如何帮助他人找到好的答案。此外,这里已经有几个很好的答案,展示了如何为
ListControl
项使用不同的颜色甚至图像。