none
能通过Pen(颜色)数组给对象的Pen属性赋值吗? RRS feed

  • 问题

  • 我想给不同的参数组(每个组里有数目不等的参数曲线对象,每个参数有pen属性,代表不同的颜色)中的参数的Pen属性 通过 Pen数组赋值. 也就是我选择不同的参数组,每个组的参数的pen属性都依次是,例如: 红,黄,蓝,绿...; 我定义了一个Pen的数组,ParameterPenArray(i),可是我发现通过下面的语句赋值后,我的参数对象的pen属性 ParameterGroup(i).Pen的pen并没有改变。系统也没有提示错误. 为什么?

    不知我说清楚了没有, 或者有其他方法实现这一目的?

     '曲线Pen数组
        Dim ParameterPenArray() As System.Drawing.Pen = {System.Drawing.Pens.Red, _
                                                        System.Drawing.Pens.Red, _
                                                        System.Drawing.Pens.Orange, _
                                                        System.Drawing.Pens.Yellow, _
                                                        System.Drawing.Pens.Green}
                                                      

    For i As Integer = 0 To ParameterGroup.GetUpperBound(0)
               ParameterGroup(i).Pen = ParameterPenArray(i)
               Next
    2010年1月15日 11:39

答案

全部回复

  • 你好!
         实际上Pens.Red等返回的就是Pen的一个实例!
    周雪峰
    2010年1月15日 12:52
    版主
  • 谢谢,不过,我还是不明白,为什么不能通过
    ParameterGroup(i).Pen = ParameterPenArray(i)
    把它付给object.pen的属性呢? 系统应该执行了这个语句,没报错,但object.pen的属性依然没有改变。
    或者,怎么改变object.pen的属性或是颜色呢?
    2010年1月16日 1:28
  • 你好!
         请问ParameterGroup是怎么定义的,里面是什么类型的对象?
    周雪峰
    • 已标记为答案 菜鸟学VB 2010年1月17日 12:06
    2010年1月16日 3:10
    版主
  • 你好!
         请问ParameterGroup是怎么定义的,里面是什么类型的对象?
    周雪峰
    抱歉,我发现我的代码写错了,这句实际上没有执行,改过来就正确了。 多谢指点。
    2010年1月17日 12:07
  • 很高兴你的问题得到解决了!
    欢迎常来这里和大家交流啊!
    周雪峰
    2010年1月17日 12:12
    版主