首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出到图片框替代方案

输出到图片框替代方案
EN

Stack Overflow用户
提问于 2011-02-13 08:07:36
回答 2查看 1.3K关注 0票数 3

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-13 12:30:44

标签可能是最简单的选择。我不知道为什么你需要阻止调整图片框的大小(这也很容易做到)。

如果你担心你的图片框被调整大小,你的标签不再居中,或者是错误的大小,你可以将代码放在resize事件中,该事件根据图片框的当前大小动态更新标签及其字体的大小和位置。

但是,如果您决定不使用标签,则始终可以让picturebox订阅Paint事件,然后在重新绘制picturebox时使用e.Graphics仅绘制文本。

代码语言:javascript
复制
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是比这更好的选择。与Label相比,调用e.Graphics不会给您带来任何真正的优势,但它会给您带来更多需要担心的事情。

票数 2
EN

Stack Overflow用户

发布于 2011-02-13 08:10:29

使用TextBox可能是最合适的方法;只需将ReadOnly设置为true即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4981526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档