【发布时间】:2014-06-22 20:18:14
【问题描述】:
我有一个允许用户选择位置的应用程序。
目前我有 5 个位置可供选择,但我想扩展它以使用包含大约 100 个选项的主列表。
我还需要保存用户的偏好。
目前,我的工作代码如下:
保存设置:
My.Settings.SettingSearchLocationCAL = CInt(settingsRADlocationCAL.Checked)
My.Settings.SettingSearchLocationMIS = CInt(settingsRADlocationMIS.Checked)
My.Settings.SettingSearchLocationMON = CInt(settingsRADlocationMON.Checked)
My.Settings.SettingSearchLocationLON = CInt(settingsRADlocationLON.Checked)
My.Settings.SettingSearchLocationOTT = CInt(settingsRADlocationOTT.Checked)
My.Settings.SettingSearchLocationTOR = CInt(settingsRADlocationTOR.Checked)
确定选择了哪个位置:
If settingsRADlocationTOR.Checked = True Then
LocationName = "ontario"
LocationID = "1700272"
ElseIf settingsRADlocationOTT.Checked = True Then
LocationName = "ottawa"
LocationID = "1700185"
ElseIf settingsRADlocationMIS.Checked = True Then
LocationName = "ontario"
LocationID = "1700276"
ElseIf settingsRADlocationLON.Checked = True Then
LocationName = "london"
LocationID = "1700214"
ElseIf settingsRADlocationMON.Checked = True Then
LocationName = "montreal"
LocationID = "80002"
ElseIf settingsRADlocationCAL.Checked = True Then
LocationName = "calgary"
LocationID = "1700199"
End If
目前,我为此使用单选按钮,但我试图弄清楚我应该如何允许用户选择他们的位置。我一直在尝试使用文件菜单,用于可扩展菜单功能(树结构),现在似乎可以正常工作。
我的问题如下:
我应该使用更好的容器吗? (用户将选择一个国家、省/州和城市。理想情况下,我希望这一切都在一个控制中,因此是文件菜单)
有没有一种方法可以将带有菜单结构的 txt 文件导入到文件菜单(或其他容器)中,而不是手动填写每个条目?
还有。
如何确定在超过 100 个条目的列表中选择了哪个选项?我需要继续为每个条目设置一个 .setting 吗?还是有更好的方法可以解决这个问题?
感谢您提供的任何帮助。我希望我的解释是有道理的。
谢谢!
【问题讨论】:
-
带有文本框的列表框怎么样?用户可以从中过滤?
-
如果他们只能选择一个位置,我会使用组合框
-
我一直在研究 ComboBoxes,我发现了这个:brad-smith.info/blog/projects/dropdown-controls 虽然我不太确定我喜欢它的外观和感觉。似乎有点拥挤。
-
您可以将对象存储在标准 CBO 中,以便它显示您想要的任何文本,例如包含您需要的 ID 的位置,因此您只需获取
.SelectedItem.ID。 CBO 肯定会减少代码和屏幕空间 - 您上一次在表单上看到超过 2 或 3 个单选按钮是什么时候(更不用说 100 个?)。 -
这就是我寻找替代方案的原因。我不是 CBO 的主要粉丝,名单会相当广泛。我喜欢文件菜单的分支方式。可惜我不能对 CBO 做同样的事情:(
标签: vb.net drop-down-menu saving-data large-data