ListView
VB.Net Windows Forms プロジェクトに標準コントロールがあります。ビューはタイルに設定されています。ユーザーは、次のように表示されると報告しています。
どうすれば問題を解決できるか知っていますか? すべての設計作業は VS 2010 を使用して行われました。
はい、これは、リスト ビューの TileSize プロパティを変更し、ビデオ DPI 設定がより高いマシンでプログラムを実行した場合に発生します。すると文字が大きくなります。テキストがタイルに収まらなくなる。他のすべては、Form クラスに組み込まれている自動スケーリングによって処理されます。
テキストが再び収まるように、タイルのサイズを拡大して拡大する必要があります。次のようにします。
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
MyBase.OnLoad(e)
Using gr = Me.CreateGraphics
Dim tile As New Size( _
CInt(Me.ListView1.TileSize.Width * gr.DpiX / 96), _
CInt(Me.ListView1.TileSize.Height * gr.DpiY / 96))
ListView1.TileSize = tile
End Using
End Sub
これは、既定の 1 インチあたり 96 ドットの設定を持つマシンでフォームをデザインしたことを前提としています。元のタイル サイズに少し余裕を持たせてください。TrueType ヒンティングのため、スケーリングは完全ではありません。