Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用DrawString方法复制标签_C#_.net_Winforms_Drawstring - Fatal编程技术网

C# 使用DrawString方法复制标签

C# 使用DrawString方法复制标签,c#,.net,winforms,drawstring,C#,.net,Winforms,Drawstring,我需要在Infragistics工具栏上画一个字符串,我不能使用标签,因为它的背景实际上不是透明的 我已经设法使用DrawString方法按需要覆盖文本,但问题是文本与标签不相似。它更厚,有别名,而且出于某种原因是黑色的 我应该如何更改im代码以使用DrawString方法复制标签的外观相同字体、大小、前景色 以及守则: FontFamily fontFamily = new FontFamily("Microsoft Sans Serif"); Font fon

我需要在Infragistics工具栏上画一个字符串,我不能使用标签,因为它的背景实际上不是透明的

我已经设法使用DrawString方法按需要覆盖文本,但问题是文本与标签不相似。它更厚,有别名,而且出于某种原因是黑色的

我应该如何更改im代码以使用DrawString方法复制标签的外观相同字体、大小、前景色

以及守则:

FontFamily fontFamily = new FontFamily("Microsoft Sans Serif");
                Font font = new Font(
                   fontFamily,
                   17,
                   FontStyle.Regular,
                   GraphicsUnit.Pixel);
                SolidBrush solidBrush = new SolidBrush(SystemColors.ControlText);

                drawParams.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
                drawParams.Graphics.DrawString("String Drawn with DrawString method", font, solidBrush, textEditorLoc.X, textEditorLoc.Y + 25);
尝试使用类:

同时将TextRenderingHint保留为系统默认值,并使用与label相同的字体大小。

尝试使用类:


同时将TextRenderingHint保留为系统默认值,并使用与标签相同的字体大小。

标签的标准文本大小为8,25点,或大约11像素。17像素的大小导致文本大小为13磅

试试这个

 FontFamily fontFamily = new FontFamily("Microsoft Sans Serif");
 Font font = new Font(
                   fontFamily,
                   8.25f,
                   FontStyle.Regular,
                   GraphicsUnit.Point);
 SolidBrush solidBrush = new SolidBrush(SystemColors.ControlText);            
 e.Graphics.DrawString("String Drawn with DrawString", font, solidBrush, textEditorLoc.X, textEditorLoc.Y + 25);

标签的标准文本大小为8,25点或大约11像素。17像素的大小导致文本大小为13磅

试试这个

 FontFamily fontFamily = new FontFamily("Microsoft Sans Serif");
 Font font = new Font(
                   fontFamily,
                   8.25f,
                   FontStyle.Regular,
                   GraphicsUnit.Point);
 SolidBrush solidBrush = new SolidBrush(SystemColors.ControlText);            
 e.Graphics.DrawString("String Drawn with DrawString", font, solidBrush, textEditorLoc.X, textEditorLoc.Y + 25);
我也有类似的问题。DrawString方法与DataGridView中的PaintCells不同。字体变薄了。TextRenderer.DrawString解决了这个问题。我也遇到了类似的问题。DrawString方法与DataGridView中的PaintCells不同。字体变薄了。TextRenderer.DrawString解决了这个问题。