VB6.0プロジェクトがあり、VB.Netで変換したいと思います。
私のVB6.0アプリケーションでは、MDI子フォームの高さの一部は17000、幅は13000です。VB.Netフォームで同じフォームサイズを設定したいのですが、最大フォーム幅= 1036、解像度1024x768の高さ=780が可能です。 。
同じ解像度でフォームサイズを大きくするにはどうすればよいですか?
また、これを印刷したいので、vb.netフォームの自動スクロールプロパティを使用できません。
サックス
あなたの古典的なVBユニットは「twips」と呼ばれるものにあります。ほとんどの場合、これらの数値を12または15で割ることができ(大きいフォントと小さいフォントのどちらを使用しているかによって異なります)、特定のピクセル数が得られます。
デザイナーには制限がありますが、コードには制限がありません。
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
私はこれについてグーグルをして、これに出くわしました..
はい、このフォームのサイズはデスクトップのサイズ(より具体的にはSystemInformation.MaxWindowTrackSize)に制限されています。これは、Form.SetBoundsCoreで保護された仮想メソッドで実行されます。この動作を変更することはできません。少なくとも、多大な労力とPInvokeを使用しないとできません。
ここでもサポートされています
デザイナのフォームのサイズは、画面サイズによって制限されます。
ディスプレイが1600x1200のように聞こえるので、デザイナーは1212より大きくすることを許可しません。
ディスプレイが1280x1024の場合、デザイナーは1036より大きくすることを許可しません。
デザイナのフォームのサイズが画面サイズに制限されている理由はよくわかりません。開発マシンよりも画面サイズが大きいマシンにデプロイする可能性があるためです...
ですから、それはできないように見えます。開発マシンが何であれ、制限されているように見えるので、それは奇妙な振る舞いです。
それを行う唯一の方法は、可能な最大解像度にサイズ設定し、フォームサイズを設定してから元に戻すことだと思いますが、サイズに二度と触れないでください。
VB6ユニットはVB.Netユニットと同じではないと思います。したがって、変換を行う必要があります。