Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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# 输出到图片框备选方案_C#_Winforms_Picturebox - Fatal编程技术网

C# 输出到图片框备选方案

C# 输出到图片框备选方案,c#,winforms,picturebox,C#,Winforms,Picturebox,对于我正在处理的项目,需要在窗体上显示一个类似秒表的计时器。如果我在VB中没有记错的话,文本可以输出到图片框中,但我在c#中找不到这样做的方法。如果有办法防止调整长方体的大小,则标签将起作用。谢谢 使用文本框可能是最合适的选择;只需将只读设置为true。标签可能是最简单的选择。我不知道为什么需要阻止picturebox的大小调整(这也很简单) 如果您担心picturebox的大小被调整,标签不再居中,或者大小不正确,您可以将代码放入resize事件中,该事件根据picturebox的当前大小动态

对于我正在处理的项目,需要在窗体上显示一个类似秒表的计时器。如果我在VB中没有记错的话,文本可以输出到图片框中,但我在c#中找不到这样做的方法。如果有办法防止调整长方体的大小,则标签将起作用。谢谢

使用文本框可能是最合适的选择;只需将
只读设置为true。

标签可能是最简单的选择。我不知道为什么需要阻止picturebox的大小调整(这也很简单)

如果您担心picturebox的大小被调整,标签不再居中,或者大小不正确,您可以将代码放入resize事件中,该事件根据picturebox的当前大小动态更新标签及其字体的大小和位置

但是,如果您决定不使用标签,则始终可以让picturebox订阅绘制事件,然后在重新绘制picturebox时使用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));
    }
}
但是,您还必须为计时器的每次迭代重新绘制此图

正如我所说,标签将是一个更好的选择。打电话给e.Graphics并不会给你们带来比标签更大的优势,但它会让你们担心更多的事情