我在窗體中有一個TextBox,我正在繪製一個字符串,如下所示。自定義繪圖文本C#
Font myFont = new Font("Arial",18F,FontStyle.Regular,GraphicsUnit.Point,128);
Graphics g = myTextBox.CreateGraphics();
Brush b = new SolidBrush(Color.Red);
g.DrawString("Item Drawn with DrawString",myFont ,b,new PointF(1,1));
顯示在文本框中的字符串。然後我試着下面的代碼
Font myFont = new Font("Arial",18F,FontStyle.Regular,GraphicsUnit.Point,128);
Graphics g = myTextBox.CreateGraphics();
TextRenderer.DrawText(g,"Item Drawn with DrawText",myFont,new Point(1,1),Color.Red);
這裏的問題出現了。即使g.DrawString()
和TextRenderer.DrawText()
兩種方法使用相同的字體,字體樣式也有所不同。這是一些字符呈現不同。如果我在字體中使用「1」而不是「128」,那麼這兩種方法都會將字符渲染爲唯一。
如果我更改GdiCharSet(128)
字體的值,而使用g.DrawString()
方法將不會有效果。我的問題是爲什麼g.DrawString()
方法排除GdiCharSet
值?