VB: Ungültiger Eigenschaftswert beim minimieren

Hallo, ich habe dieses Programm, in dem er mir einen Fehler anzeigt wenn ich es minmiere. Der Fehler lautet "Ungültiger Eigenschaftswert und wird durch folgende Zeile hervorgerufen:

Code:
    TeXt.Height = Me.Height - 1500

Wenn ich anstatt -1500 -300 schreibe geht es, nur sieht das dann nicht mehr so aus wie es soll. Die Zeile befindet sich in folgendem Pivate Sub:

Code:
Private Sub Form_Resize()
    TeXt.Width = Me.Width - 440
    TeXt.Height = Me.Height - 1500
End Sub

Hoffe auf Hilfe, Danke.

mfg $oul
 
also ich denk mal das 1500 einfach ein bisschen zu groß gewählt is..
Me.Height ist ja die höhe des fensters, wenn du da 1500 abziehst, kommst du meistends auf ne negative zahl (ausser du hast ne entsprechende bildschirmauflösung)
ueberpruef nochmal, ob du wirklich 1500 davon abziehn willst, das KANN garnich hinhaun...
zumindest wenn ich mich recht an vb erinnere und da ei angaben in pixel angegeben werden..

EDIT: achso der fehler war ja beim minimieren... *nichtrichtiggelesenhab*
naja dann is es ja noch klarer, da eine fensterhöhe ja null ist und null - 1500 nun mal -1500, was wohl dann n ungueltiger eigenschaftswert fuer ne höhe is...
versuch ma, ob du den fensterstatus auslesen kannst, bevor du die größe veränderst, und dann erst bei bedarf (wenns nicht minimiert ist) deine textbox veränderst
 
Nein, das kann nichts passen.

1. Die Angaben sind auf das Formular bezogen.
2. In VB wird die Höhe irgendwie anders definiert, wie weiß ich nicht. Was ich weiß ist, dass die Höhe des Formulars 7245 beträgt. Somit sollten die 1500 also kein Problem darstellen.
3. Ich habe es mit 500 getestet um nochmal sicher zu gehen, aber auch mit 500 geht es nicht. Ich habe jetzt nicht die Werte zwischen 300 und 500 getestet, aber irgendwo in dem Bereich muss die Grenze liegen, nur warum? Und viel wichtiger, wie umgehe ich das Problem?

Trotzdem Danke.

mfg $oul
 
Re

Hi!
Wenn du dein Programm lädst, einen Haltepunkt in der fraglichen Zeile deklarierst (text.height=me.height-1500) und dann beim Minimieren des Fensters den Wert von me.height überprüfst, dann wirst du feststellen, dass er 465 beträgt. 465-1500 ist definitiv ein negativer Wert. ;)
Das ist einfach zu lösen:
Da die Höhe der Textbox beim Minimieren, fügst du am Besten einfach einen If-Satz ein, der das Probelm sofort löst:

private sub Form_resize()
if me.height>1500 then
text.height=me.height-1500
text.width=me.width-440
end if
end sub

cu gabriel3
 
hm ja so hab ich das ungefähr in meinem post auch gemeint, mir haben nur die möglichkeiten gefehlt, das programm in run-time zu debuggen, da ich keinen vb-compiler hab...
-->
versuch ma, ob du den fensterstatus auslesen kannst, bevor du die größe veränderst, und dann erst bei bedarf (wenns nicht minimiert ist) deine textbox veränderst

naja hoffentlich isses jetz gelöst...
 
re

Hi!
So funktioniert der Code. Ich habe mir das Programm runtergeladen und es geändert und es funktioniert wie gesagt einwandfrei.
Frage: Wie programmierst du VB ohne "VB-Compiler"?
cu gabriel3

PS: Der von dir zitierte Beitrag war übrigens nicht von mir...
Und noch ein Tipp: Der Umkehrbefehl zu ASC(string) lautet CHR(int), nur weil ich gerade deine riesige Replace-Funktion sehe. ;)
 
Wie genau soll ich den Befehl nutzen? Weiß grade nicht genau wie das gemeint ist.
Was das minimieren angeht: Danke, hat geholfen.

mfg $oul
 
Zurück
Oben