2008-08-30 8 views
3

J'ai un projet VB6.0 et je veux le convertir en VB.Net. Dans mon application VB6.0, la hauteur de la forme enfant MDI est de 17000 et la largeur de 13000. Maintenant, je veux définir la même taille de formulaire dans les formulaires VB.Net, mais cela permet une largeur de forme maximale = 1036, height = 780 pour la résolution 1024x768.Formulaire VB.NET Hauteur Question

Comment puis-je augmenter la taille du formulaire avec la même résolution?

Aussi je veux imprimer cela à partir de, je ne peux pas utiliser la propriété de défilement automatique des formulaires vb.net.

Thaks

Répondre

0

Je pense que les unités VB6 ne sont pas la même chose avec celui VB.Net. Donc vous devez faire une conversion.

5

Vos unités VB classiques sont appelées «twips». Vous serez probablement en mesure de diviser ces nombres par 12 ou 15 (selon si vous utilisez des polices grandes ou petites) et vous obtiendrez un certain nombre de pixels.

1

je fait quelques recherches sur Google à ce sujet, et nous sommes tombés this ..

Oui, cette taille de la forme est limitée à la taille du bureau (plus specifcally SystemInformation.MaxWindowTrackSize). Ceci est effectué dans la méthode virtuelle protégée Form.SetBoundsCore . Ce comportement ne peut pas être modifié ou au moins sans beaucoup de travail et en utilisant PInvoke.

a également soutenu here

La taille du formulaire dans le est limité par la taille de votre écran.

On dirait que vous avez votre écran à 1600x1200, d'où le concepteur ne vous laisser aller plus puis 1212.

Si vous aviez votre écran à 1280x1024, le concepteur ne vous laisserais pas aller plus puis 1036.

Je ne suis pas sûr de savoir pourquoi la taille de la forme dans le concepteur est limité à la taille de l'écran, comme je déployer sur une machine qui a une taille d'écran plus grand les ma machine de développement. ..

semble donc comme il ne peut pas être fait .. Cest un comportement étrange, car il semble que vous êtes limité à ce que votre machine dev est ..

Je pense que la seule façon de le faire est de taille à la résolution maximale possible, définissez la taille du formulaire, puis revenez en arrière, mais ne touchez plus jamais à la taille.

1

Vous êtes limité dans le concepteur, mais pas dans le code:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Me.Height = 17000 'or whatever you need 
    Me.Width = 13000 
End Sub 
+0

Je viens de tester cette suggestion.Cette suggestion ne fonctionne pas dans l'événement form_load. La taille initiale du formulaire sera limitée à la taille de l'écran, selon la question. –

Questions connexes