1

嘿伙计们,这里很新。

有一个使用此命令行从特定游戏服务器获取帐户名称的列表框

Dim apikeyinfo As APIKeyInfo = api.getApiKeyInfo()
lstbxCharacters.DataSource = apikeyinfo.Characters

此代码通过在列表框中显示它来获取单个帐户中的所有字符。

现在我想从 lisbox 中引用一个字符,但不确定如何

任何方法,如 Listbox.Get 来获取值并将其与其他内容进行比较?

谢谢

4

1 回答 1

0

你可以尝试类似的东西

lstbxCharacters.SelectedItem

更新

要从列表框中读取数据,我认为有多种方法(假设它是可读的)。

-> 通常列表框显示字符串,因此它应该可以读取字符串变量

Dim a_string as Strin = lstbxCharacters.SelectedItem

您也可能想在之前添加一个小检查,以确保当前选择了一个项目:

If lstbxCharacters.SelectedIndex < 0 then return

如果未选择任何项目,则会跳出当前子项

最后,要阅读第一个条目,您也可以这样做:

a_string = lstbxCharacters.Items(0) 

如果它返回对象,则不是直接访问对象,而是可以做

a_string = lstbxCharacters.Items(0).ToString

(大多数对象允许 .ToString() 函数)

这里有两种不同解决方案的想法:

  1. 正如用户评论的那样,您可以直接访问 DataSource + 选择 listIndex 的信息。但是,如果您这样做,那么可能会更容易(如果您仍然需要访问它,请使用解决方案 2)
  2. 创建一个 list(Of some_object) 类型的变量,并用数据源中的数据填充它。这样做需要一些时间,但如果你为类 some_object 定义了一个函数 ToString,那么你可以通过 CType(lstbxCharacters.SelectedItem, some_object) 将所有对象直接填充到 lstbxCharacters 中,并且无需担心地访问它们

更新 2 如果reference您的意思是从数据源访问更多信息,那么您需要构建某种查询,或者将列表框的内容设置为与另一个显示数据库内容的控件相关(这样列表框 lstbxCharacters 将起作用像过滤器)

于 2013-04-10T12:30:40.383 回答