mFe*_*ein 0 c# size text listview
我正在制作一个带有列表视图的 C# 程序,在我的 PC 和上网本中,列的大小是完美的,但是当我在朋友的计算机上运行该程序时,列的大小似乎更小,文本被剪切,例如,如果我的列在我的电脑中显示“Hello Stackoverflow”,在我朋友的电脑中显示“Hello Stac...”。列的大小是在代码中设置的,而他没有调整大小......这怎么可能?我们使用相同的屏幕分辨率(1080p),即使他将分辨率更改为更大的分辨率(800x600),列文本仍然被剪切掉,只是窗口总体更大......可能是默认字体windows 造成了所有这些问题?谢谢你们!!
ListView不会覆盖该ScaleControl方法,因此它不会随着 DPI 的变化而正确缩放。您可以用您的表格来代替。此方法不需要您知道 DPI 设置。代码复制自MSDN论坛。
private void ScaleListViewColumns(ListView listview, SizeF factor)
{
foreach (ColumnHeader column in listview.Columns)
{
column.Width = (int)Math.Round(column.Width * factor.Width);
}
}
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
ScaleListViewColumns(listView1, factor);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3468 次 |
| 最近记录: |