在VB中传递和查看组合框文本

时间:2016-01-08 17:23:50

标签: vb.net combobox

我有一个包含两种形式的程序:Form1和FocusPRG。在FocusPRG表格中,我有两个组合框设置为List,一个让你选择一个开始时间,一个让你为一个过程选择一个停止时间。现在,我想要做的就是让Form1查看选定的时间并将它们写入日志文件,但日志文件只显示空行而不是任何实际文本。这是我正在使用的Form1上的代码:

Dim StartTime As String
Dim StopTime As String

StartTime = FocusPRG.StartTimePicker.SelectedText
StopTime = FocusPRG.StopTimePicker.SelectedText

WriteLog(StartTime)
WriteLog(StopTime)

我错过了什么?

3 个答案:

答案 0 :(得分:0)

SelectedText属性不符合您的想法。它不是所选值的文本。就像在TextBox中一样,它是用户使用鼠标或键盘突出显示的文本。如果您希望文本显示在控件中,那么您再次需要Text属性,就像TextBox一样。

答案 1 :(得分:0)

使用此:

Dim StartTime As String
Dim StopTime As String

StartTime = FocusPRG.StartTimePicker.SelectedItem.ToString()
StopTime = FocusPRG.StopTimePicker.SelectedItem.ToString()

WriteLog(StartTime)
WriteLog(StopTime)

也就是说,使用ComboBox的SelectedItem属性而不是SelectedText属性。

如果您在MSDN上阅读了这两个文档,您可以轻松看到差异:

SelectedText的定义说:

  

获取或设置在ComboBox的可编辑部分中选择的文本。

SelectedItem的定义说:

  

获取或设置ComboBox中当前选定的项目。

答案 2 :(得分:0)

FocusPRG必须是表单的实例,而不仅仅是类名。创建FocusPRG时,请执行以下操作:

dim FocusPRG1 as new FocusPRG
FocusPRG1.Show()

还可以使用Text,而不是SelectedText来获取用户的输入。

StartTime = FocusPRG1.StartTimePicker.Text
StopTime = FocusPRG1.StopTimePicker.Text

此外,这个问题有点令人困惑,因为你说控件是组合框,但它们是调用xxxTimePicker,它表示不同类型的控件。