combobox 提示“text是只读属性”是怎么回事?
--------------------编程问答--------------------form_load()--------------------编程问答--------------------
combo1.clear
combo1.additem ""
combo1.additem "1"
combo1.additem "2"
end sub
谢谢,但是和我想问的不是一回事。 --------------------编程问答-------------------- Style 属性
返回或设置一个值,该值用来指示控件的显示类型和行为。在运行时是只读的。
语法
object.Style
object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。
设置值
对于 Checkbox、CommandButton 和 OptionButton 控件,Style 属性的设置值为:
常数 值 描述
VbButtonStandard 0 (缺省的) 标准的。控件按它们在 Visual Basic 老版本中的样子显示。也就是,Checkbox 控件显示为在其身旁有一个标签的复选框,OptionButton 显示为在其身旁有一个标签的选项按钮,而 CommandButton 显示为标准的、没有相关图形的 CommandButton。
VbButtonGraphical 1 图形的。控件用图形的样式显示。即,Checkbox 控件显示为类似按钮的 CommandButton,它能上下切换;OptionButton 显示为类似按钮的 CommandButton,它保持向上或向下的切换,直到它的选项群组内的另一个 OptionButton 被选中;而 CommandButton 显示为标准的、也能显示相关图形的 CommandButton。
对于 ComboBox 控件, Style 属性值为:
常数 值 描述
VbComboDropDown 0 (缺省值)下拉式组合框。包括一个下拉式列表和一个文本框。可以从列表选择或在文本框中输入。
VbComboSimple 1 简单组合框。包括一个文本框和一个不能下拉的列表。可以从列表中选择或在文本框中输入。简单 组合框的大小包括编辑和列表部分。按缺省规定,简单组合框的大小调整在没有任何列表显示的状态。增加 Height 属性值可显示列表的更多部分。
VbComboDrop-DownList 2 下拉式列表。这种样式仅允许从下拉式列表中选择。
对于 ListBox 控件,Style 属性值为:
常数 值 描述
VbListBoxStandard 0 (缺省值)标准的。ListBox 控件按它在Visual Basic 老版本中的样子显示;即,象是文本项的列表。
VbListBoxCheckbox 1 复选框。在 ListBox 控件中,每一个文本项的边上都有一个复选框。在 ListBox 中可以选择多项。
说明
对于 ComboBox 控件,根据下面这些原则来决定选用哪种设置值:
使用设置值 0(下拉式组合框)或设置值 1(简单组合框)来给用户一选择列表。每种风格都使用户能在文本框中输入一个选择。设置值 0 能节省窗体上的空间,因为列表部分在用户选择一个项时将关闭。
使用设置值 2(下拉式列表)能显示一个从中选择一个项的固定选择列表。列表部分在用户选择一个项时关闭。
--------------------编程问答-------------------- VbComboDrop-DownList 2 下拉式列表。这种样式仅允许从下拉式列表中选择。
已经不显示text了,变化太大了,都成下拉类型的list了... --------------------编程问答-------------------- 楼主没有描述需求,让大家猜猜猜!
要改变文本,就用缺省的 Style = VbComboDropDown。
--------------------编程问答--------------------
我描述的已经很清楚了呀,问题就是后面的红字部分呀
combo1.text="1" '执行后combo1控件上显示1
combo1.text="" '为什么执行到此处时,显示错误“text是只读属性” Combo1.Text = vbCrLf '为什么执行到此处时,也是显示错误“text是只读属性” Dim a As String
a = Trim(Combo1.Text) '此时combo1控件上先选择空白选项 Combo1.Text = a '为什么执行到此处时,也是显示错误“text是只读属性” --------------------编程问答-------------------- 可以用ADD来添加。 --------------------编程问答--------------------
设置成了固定的下拉列表模式,当然不能通过 .Text 属性选择或添加列表项。 --------------------编程问答-------------------- 再说一遍。
要改变文本,就用缺省的 Style = VbComboDropDown。 --------------------编程问答-------------------- MSDN上已经说得很清楚了。 --------------------编程问答-------------------- 我上面说的有一点错误。
当 ComboBox 设置成下拉列表时,只能将 Text 设置成 List 中已有的值来选中。
--------------------编程问答--------------------
空白项也是我的LIST列表中的一项呀,为什么执行combo1.text="" 时 显示错误“text是只读属性”
--------------------编程问答-------------------- 字符串空值表示没有数据,没有数据怎么等于呢。 --------------------编程问答-------------------- 既然设置成了下拉列表,楼主为何不通过 .ListIndex 属性来操作选定项? --------------------编程问答-------------------- 顶楼上所说~ --------------------编程问答-------------------- 顶一下,再顶一下
--------------------编程问答--------------------
说明你的所谓空白项的值,没有设置为空串。
试试:
--------------------编程问答-------------------- 怀疑你的combox没有加载完成 --------------------编程问答-------------------- 因为下拉框中,你没有添加“vbCrLf”,你设置它为下拉模式,就只能等于,你前边添加的那几个项 --------------------编程问答-------------------- 说明这个控件遇到空字符串不行呗
Combo1.AddItem ""
Combo1.AddItem "1"
Combo1.Text = ""
Combo1.Text = "1"
把空白项设置成一个空格就行了,反正显示不出来,后期再trim一下就行。
或者去掉空白项,如果想显示为选择状态,直接combo1.listindex=-1
--------------------编程问答-------------------- 想显示为未选择状态,直接combo1.listindex=-1 --------------------编程问答-------------------- 向高手学习了!
补充:VB , 基础类