当没有选择属性时,GraphicsUnit的默认属性是什么?
graphics.PageUnit = GraphicsUnit.?
所以当我画一个字符串时,正在使用哪个单位?
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawString("String", textBox2.Font, Brushes.Black, 50);
}
编辑:
使用过的Eris方法修改为消息框:
这项工作:
MessageBox.Show(Convert.ToString(e.Graphics.PageUnit));
// 收到的答案:显示
但这也有效:
MessageBox.Show(Convert.ToString(default(GraphicsUnit)));
// 收到的答案:世界。
哪一个应该是正确的?
答案 0 :(得分:1)
public Form1 ()
{
InitializeComponent();
panel1.Invalidate(); //trigger paint
}
private void panel1_Paint ( object sender, PaintEventArgs e )
{
var result = e.Graphics.PageUnit; //breakpoint here
}
将鼠标悬停在result
上,它就是像素。因此,默认情况下,e.Graphics.PageUnit
似乎默认为面板绘制事件的像素默认。
基本调试:触发有问题的事件,var result = object.variablename
处的断点,将鼠标悬停在结果上。