UBound ist für control arrays nicht implementiert.

Dieser Code:

Function ControlUBound(ctl As Control) As Integer
   Dim theCount, i As Integer
     for i = ControlCount - 1 DownTo 0
      if Control(i).Name = ctl.Name then theCount = theCount + 1
   next
     return theCount - 1

End Function

..ermittelt generisch das ubound für Deine checkboxen. Kannst Du dann so 
verwenden:
.
.
dim UboundOfCheckboxes as integer=Self.ControlUBound(me)
for n=0 to UboundOfCheckboxes
etc.

Maximilian Tyrtania


Am 20.06.2010 um 20:35 schrieb Roland Quadstege:

> 
> Am 20.06.2010 um 20:10 schrieb Maximilian Tyrtania:
> 
>> Jetzt, da ich noch mal genauer gucke, wird's klarer. Du klickst auf die 
>> 1.Checkbox, und in deinem Actionevent ist index=0 (weil es sich um die 
>> "0-te" checkbox aus Deinem Array handelt, verstehste?). Du denkst aber 
>> (nunja, so scheint es zumindest), index sei die Anzahl der checkboxen. 
>> Die Schleife wird nur einmal durchlaufen, und Du erhältst den von Dir 
>> beschriebenen Effekt.
> 
> Hallo Max,
> 
> ja, klar. Jetzt hab' ich's. Nur weiß ich nicht, wie ich die Anzahl der Boxen 
> ermitteln kann. Mit ubound kriege ich es nicht hin.
> 
>  dim n As Integer
>  dim ok as Boolean
>  ok=False
>  PushButton1.Enabled=False
>  ImageWell1.Visible=False
>  for n=0 to check_type.Ubound '>>>>>>> liefert "diese Methode oder 
> Eigenschaft existiert nicht!!!"
>    'while n<=index
>    if check_type(n).Value=true then
>      ok=true
>    end if
>    n=n+1
>    'wend
>  next n
>  if ok=true then
>    PushButton1.Enabled=true
>    ImageWell1.Visible=True
>  Else
>    PushButton1.Enabled=False
>    ImageWell1.Visible=false
>  end if
> 
> 
> 
>> 
>> Maximilian Tyrtania
>> 
>> Am 20.06.2010 um 11:37 schrieb Roland Quadstege:
>> 
>>> Hallo,
>>> 
>>> ich habe ein Array checkboxen mit dem Namen "check_type" angelegt.
>>> Diese beiden checkboxen sind in einer Groupbox und sollen - sobald ein 
>>> Element des Arrays check_type den Wert "true" hat - einen Pushbutton1 auf 
>>> enabled und ein Imagewell1 auf visible setzen. Das klappt auch soweit ganz 
>>> gut. Wenn ich aber dann den Wert des ersten Elements von check_type auf 
>>> "false" setze, aber das zweite Element von check_type noch auf true steht, 
>>> wird dieses letzte Element wohl nicht richtig erkannt? Kann das denn sein? 
>>> Hat da jemand eine Idee? Hier mal der Code dazu:
>>> 
>>> dim n As Integer
>>> dim ok as Boolean
>>> ok=False
>>> PushButton1.Enabled=False
>>> ImageWell1.Visible=false
>>> while n<=index
>>>  if check_type(n).Value=true then
>>>    ok=true
>>>  end if
>>>  n=n+1
>>> wend
>>> if ok=true then
>>>  PushButton1.Enabled=true
>>>  ImageWell1.Visible=True
>>> Else
>>>  PushButton1.Enabled=False
>>>  ImageWell1.Visible=false
>>> end if
>>> 
>>> 
>>> ---------------------------------------------------------------------------------------------------------------------------------
>>> Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an 
>>> seinem Verstand oder an seinem guten Willen zu zweifeln. 
>>> (Otto Fürst von Bismarck)
>>> 
>>> 
>> 
>> 
> 
> 


Antwort per Email an