相关疑难解决方法(0)

TextRenderer.MeasureText和Graphics.MeasureString的大小不匹配

这不是一个四舍五入的问题.差异~5 +像素.

测试用例字符串:""MACD(26,12,9)-0.000016"

e.Graphics.MeasureString("MACD (26,12,9) -0.000016", SystemFonts.DefaultFont).Width)
TextRenderer.MeasureText("MACD (26,12,9) -0.000016", SystemFonts.DefaultFont).Width)
Run Code Online (Sandbox Code Playgroud)

结果总是:

139.3942
134
Run Code Online (Sandbox Code Playgroud)

为什么尺寸差异如此之大?我只需要在外面绘制圆形宽度的方法.但它应该与MeasureString匹配,反之亦然.

c# gdi+

26
推荐指数
1
解决办法
3万
查看次数

如何通过更改表单宽度使复选框的文本自动换行?

在 Windows 表单中,我有包含长文本的复选框列表,该表单可重新调整大小..

我可以根据表单宽度在运行时使文本自动换行吗?

c# checkbox word-wrap winforms

3
推荐指数
1
解决办法
1万
查看次数

没有内边距和边距的标签

我在 C# (.NET Framework 3.5) 中有以下代码

public partial class MainForm : Form
{
    public MainForm()
    {
        //
        // The InitializeComponent() call is required 
        // for Windows Forms designer support.
        //
        Label myControl = new Label();
        myControl.Text = "TEXT";
        myControl.FlatStyle = FlatStyle.System;
        myControl.AutoSize = true;
        myControl.BorderStyle = BorderStyle.FixedSingle;
        myControl.Padding = new Padding(0);
        myControl.Margin = new Padding(0);
        this.Controls.Add(myControl);
        InitializeComponent();
    }
}
Run Code Online (Sandbox Code Playgroud)

它应该显示一个标签,其中的文本由边框包围,如下所示:

------
|TEXT|
------
Run Code Online (Sandbox Code Playgroud)

相反,我得到这个:

--------
|TEXT  |
--------
Run Code Online (Sandbox Code Playgroud)

我不知道为什么......我的目标是能够有多个标签,它们之间没有空格,如下所示:

-----------
|TEXT|TEXT|
-----------
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?提前致谢!

为了澄清起见,我需要在文本和边框之间没有空格。

c# label .net-3.5 winforms

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×3

winforms ×2

.net-3.5 ×1

checkbox ×1

gdi+ ×1

label ×1

word-wrap ×1