2008-08-30 21 views
3

Ich habe ein VB6.0-Projekt und möchte es in VB.Net konvertieren.VB.NET Formular Höhe Frage

In meiner VB6.0 Anwendung einige der MDI Child Formularhöhe ist 17000 und die Breite ist 13000. Jetzt möchte ich die gleiche Formulargröße in VB.Net Formen, aber es erlaubt maximale Formular Breite = 1036, Höhe = 780 für die Auflösung 1024x768.

Wie kann ich die Formulargröße bei gleicher Auflösung erhöhen?

Auch ich möchte dies von so drucken, kann ich nicht Auto-Scroll-Eigenschaft von vb.net Formen verwenden.

Thaks

Antwort

0

Ich denke, die VB6-Einheiten sind nicht gleich mit dem einen VB.Net. Sie müssen also eine Conversion durchführen.

5

Ihre klassischen VB-Einheiten befinden sich in sogenannten "Twips". Sie werden diese Zahlen wahrscheinlich durch 12 oder 15 teilen können (abhängig davon, ob Sie große oder kleine Schriftarten verwenden) und Sie erhalten eine bestimmte Anzahl von Pixeln.

1

ich einige Googeln auf das getan, und kam über this ..

Ja, diese Größe des Formulars beschränkt auf die Größe des Desktops (mehr specifcally SystemInformation.MaxWindowTrackSize). Dies geschieht in der Form.SetBoundsCore geschützten virtuellen Methode. Dieses Verhalten kann nicht geändert werden oder unter am wenigsten ohne viel Arbeit und mit PInvoke.

unterstützt auch here

Die Größe des Formulars im Designer durch Ihre Bildschirmgröße begrenzt ist.

Es klingt wie Sie Ihre Anzeige bei 1600x1200 haben, daher wird der Designer nicht dich gehen lassen größer als 1212.

Wenn Sie bei 1280x1024 Ihre Anzeige hatte, dann der Designer würde nicht im Stich lassen gehen größer als 1036.

ich bin nicht wirklich sicher, warum die Größe der die Form im Designer die Bildschirmgröße, wie ich auf einer Maschine bereitstellen kann, die begrenzt ist, eine größere Bildschirmgröße hat sie meine Entwicklungsmaschine. ..

sieht so wie es nicht ein seltsames Verhalten getan werden kann .. Das ist, da es, wie Sie, was auch immer Ihre Entwickler beschränken aussieht Maschine ist ..

ich die einzige Art und Weise denken, es zu tun ist, Größe auf die maximale Auflösung möglich, legen Sie die Größe des Formulars, dann wieder zurück, aber nie wieder die Größe berühren.

1

Sie sind im Designer beschränkt, aber nicht in 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

ich diesen Vorschlag nur getestet.Dieser Vorschlag funktioniert nicht im Ereignis form_load. Die anfängliche Größe des Formulars wird auf die Bildschirmgröße beschränkt, wie für die Frage. –

Verwandte Themen