目的: 打印选中的Combox的值。因为combox不能打印,就选择把combox的值赋给label.label是可以打印的。
现在我是这样做的,我在Combox控件加载的时候,new出了一个label控件,用Combox.Controls.Add(label)加了进去,label.visibel=false的。并且在TextChanged事件中 label.text=combox.text.确保值一直会传给label.
然后在combox的Leave事件中,label.visibel=true;这样label就遮住了combox,combox的值也就显示出来了。
但是这样做却有个问题。那就是“重影”。界面上显示出来的label的值跟combox的值重叠了。这样子太不美观了,无法达到打印的要求。所以现在请教各位了,帮帮忙。谢谢!

解决方案 »

  1.   

    那你在combox的Leave事件中,再把Combox.visibel=false了不行么?
      

  2.   

    没明白,combox.visibel = false选中的不就不显示了么。如果想保留那个勾的话,就把combox.text = ""
      

  3.   


    这样不行啊。因为label是加到combox.Controls里, 一变成false  label就不会显示出来了
      

  4.   

    -_-把Combox隐藏掉 Enable=False 试试
      

  5.   

    用comboBox_SelectedIndexChanged事件处理
      

  6.   


    那就改变Combox中文本颜色 ... 
      

  7.   

    Enable=false这个不行,不合我要求!
      

  8.   


    改Combox文本颜色吧。。选择好 文本颜色改变
    继续选择 文本颜色再变回来
      

  9.   

    combox本身是不能打印的。。改变颜色这做法没有啥用啊
      

  10.   


    你不是都说 了么?用lable 覆盖了Comb了么? 拿就把Combox中文本颜色改成白色。。
    如果要再选择 在改回来 -_-
      

  11.   


    -_- 你看看属性里面有没有一个叫 EnableViewState的属性 
    如果有 设置成FALSE 打印在看看.. 
      

  12.   

    没这个属性 我试试改了颜色。。很奇怪。。我看不到label的值了!
      

  13.   


    -_-是不是改错地方了...是改Combox里面的文本颜色.. 
      

  14.   

    我就不懂啦,为啥非得:Combox.Controls.Add(label)。
    反正你也要隐藏,这个label的父控件是啥不都一样吗?你就不能找个不碍事的地方放label??
    你就this.Controls.Add(label)不行吗?
      

  15.   

    对啊 改的就是combox字体的颜色啊!
      

  16.   

    那是因为我需要combox的功能。
      

  17.   

    打印的时候把Combox.Text="",打印完了再用Lable的值写回去。
      

  18.   


    这方法也不太好! 麻烦!Combox是个下拉框,Combox.Text=""没用的。可能要清空它的值才行然后又把原来的集合保存后还回去这样太不好了!
    我这个combox+label是写成一个控件的!