MSDNの「Visual Basic .NET における Form オブジェクトの変更点」によると、これらに代わるものはありません。ただし、座標の単位がピクセルの場合は、FormクラスのClientRectangleプロパティやClientSizeプロパティのHeight、Widthプロパティがその代わりとして使えます。
ただし、コントロールの大きさをフォームの大きさに合わせて変える目的でScaleHeightとScaleWidthプロパティを使用するのであれば、DockやAnchorプロパティを使うのがよいでしょう。
MSDNの「ScaleMode がサポートされていない」によると、VB6のコードをVisual Studioによりアップグレードすると、VB6.TwipsToPixelsXやTwipsToPixelsYを使って単位をtwipからピクセルに変換するようです。
なおC#でTwipsToPixelsXやTwipsToPixelsYを使うには、「参照設定」に「Microsoft.VisualBasic.Compatibility」を追加し、
Microsoft.VisualBasic.Compatibility.VB6.Support.TwipsToPixelsX(500) Microsoft.VisualBasic.Compatibility.VB6.Support.TwipsToPixelsY(800)
のようにして呼び出します。もしこれらのメソッドを使いたくないのであれば、次のようにしてTwipsPerPixelXとTwipsPerPixelYの値を計算することもできます。なおここではフォームクラス内に記述するものとし、フォームのある画面のTwipsPerPixelXとTwipsPerPixelYの値を計算しています。
Dim g As Graphics = Me.CreateGraphics() Dim TwipsPerPixelX As Single = 1440.0F / g.DpiX Dim TwipsPerPixelY As Single = 1440.0F / g.DpiY g.Dispose()
Graphics g = this.CreateGraphics(); float TwipsPerPixelX = 1440f / g.DpiX; float TwipsPerPixelY = 1440f / g.DpiY; g.Dispose();
しかしながら、TwipsToPixelsXやTwipsToPixelsYはできるだけ使わない方が良いでしょう。
(この記事は、「.NETプログラミング研究」で紹介したものを基にしています。)