对于我正在进行的项目,需要在表格中显示类似秒表的计时器。如果我在VB中正确记得,文本可以输出到图片框,但我找不到在c#中做到的方法。如果有办法防止盒子的大小调整,标签就可以使用。谢谢。
答案 0 :(得分:2)
标签可能是最简单的选择。我不确定为什么你需要阻止调整图片框的大小(这也很简单)。
如果您担心您的图片框被调整大小并且您的Label不再居中或尺寸错误,您可以将代码放入resize事件中,该事件会动态更新Label及其字体的大小和位置关于图片框的当前大小。
但是,如果您决定不使用标签,您可以随时让您的图片框订阅Paint事件,然后使用e.Graphics只需在重新绘制图片框时绘制文本。
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
using (Font myFont = new Font("Microsoft Sans Serif", 10))
{
e.Graphics.DrawString("This time is...Hammertime", myFont, Brushes.Black, new Point(0,0));
}
}
但是,您还需要为计时器的每次迭代重绘一次。
就像我说的,Label会比这更好。调用e.Graphics不会给你带来任何真正的优势,但它会为你创造更多让你担心的东西。
答案 1 :(得分:1)
使用TextBox可能是最合适的事情;只需将ReadOnly
设置为true。