在Form中的方格内直接写字的问题。
在winform中,先用DrawLine画了几个田字格,现在需要在格内写出汉字,可是怎样才能把汉字写到田字格的中心位置呢??也就是起始坐标的定位,怎样计算呢?
需要匹配田字格的大小
--------------------编程问答-------------------- 没有人回答吗??是不是太简单了? --------------------编程问答-------------------- 先用方法得到你的田字格中心点Point GetPoint(int row,int col);
再根据Font测量一个字体的Size.
如果使用等宽字体你可以一次Draw一行,如果不是你只能一个一个Draw。 --------------------编程问答-------------------- 建议创建一个自定义控件,然后在该控件上绘制指定的田字格,在onmousedown,onmouseup,onmousemove事件中对鼠标的路径做处理,绘制汉字. --------------------编程问答-------------------- 3楼的没仔细看啊,我是在 Form 中自己画格,用DrawText写字的。
2楼的大大Font的Size 能得到字体的实际 width和 height吗??哪个属性? --------------------编程问答-------------------- TextRenderer类的MeasureText方法 --------------------编程问答-------------------- 找到字要绘制到矩形,使用Rectangle来表示,然后使用DrawString来绘制,参考如下代码:
--------------------编程问答-------------------- 学习。 --------------------编程问答--------------------
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Rectangle rect = new Rectangle(100, 100, 100, 100);
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString("测试字符串", this.Font, SystemBrushes.ControlText, rect, format);
e.Graphics.DrawRectangle(SystemPens.ControlText, rect);
}
可以,先确定字体的类型和大小,再通过MeasureString获取字符的高和宽。 --------------------编程问答-------------------- 这个项目下有如何获取字符串的高宽信息。楼主可以下载看一下。
http://download.csdn.net/source/1531255
补充:.NET技术 , C#