当前位置:编程学习 > VB >>

combobox 提示“text是只读属性”是怎么回事?

--------------------编程问答--------------------
form_load()
    combo1.clear
    combo1.additem ""
    combo1.additem "1"
    combo1.additem "2"
end sub
--------------------编程问答--------------------
引用 1 楼 Leftie 的回复:
Visual Basic code
?



123456

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。

--------------------编程问答--------------------
引用 5 楼 Tiger_Zhao 的回复:
楼主没有描述需求,让大家猜猜猜!
要改变文本,就用缺省的 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 中已有的值来选中。
--------------------编程问答--------------------
引用 11 楼 of123 的回复:
我上面说的有一点错误。

当 ComboBox 设置成下拉列表时,只能将 Text 设置成 List 中已有的值来选中。


空白项也是我的LIST列表中的一项呀,为什么执行combo1.text=""  时 显示错误“text是只读属性”
--------------------编程问答-------------------- 字符串空值表示没有数据,没有数据怎么等于呢。 --------------------编程问答-------------------- 既然设置成了下拉列表,楼主为何不通过 .ListIndex 属性来操作选定项? --------------------编程问答-------------------- 顶楼上所说~ --------------------编程问答-------------------- 顶一下,再顶一下

--------------------编程问答--------------------
引用 12 楼 cnm易做图 的回复:
空白项也是我的LIST列表中的一项呀,为什么执行combo1.text=""  时 显示错误“text是只读属性”


说明你的所谓空白项的值,没有设置为空串。

试试:

    Combo1.AddItem ""
    Combo1.AddItem "1"
    
    Combo1.Text = ""
    Combo1.Text = "1"
--------------------编程问答-------------------- 怀疑你的combox没有加载完成 --------------------编程问答-------------------- 因为下拉框中,你没有添加“vbCrLf”,你设置它为下拉模式,就只能等于,你前边添加的那几个项 --------------------编程问答-------------------- 说明这个控件遇到空字符串不行呗
把空白项设置成一个空格就行了,反正显示不出来,后期再trim一下就行。

或者去掉空白项,如果想显示为选择状态,直接combo1.listindex=-1
--------------------编程问答-------------------- 想显示为未选择状态,直接combo1.listindex=-1 --------------------编程问答-------------------- 向高手学习了!
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,