gpt4 book ai didi

C# 画线 OnPaint() 与 CreateGraphics()

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:38 25 4
gpt4 key购买 nike

问题:如何从 OnPaint() 方法以外的方法正确绘制 winform?

附加信息:我现在的代码在 OnPaint() 方法中为 TicTacToe 游戏绘制了一些背景线。然后我使用 Mouse_Click 事件并运行这段显然不正确的代码:

private void TicTacToe_MouseClick(object sender, MouseEventArgs e)
Graphics g = this.CreateGraphics();
g.DrawEllipse(this.penRed, this.Rectangle);

由于我不明白的原因,它确实绘制了圆圈,但是当最小化或将窗体移出屏幕时,它会删除​​圆圈而不是 OnPaint() 方法中的线条。

最佳答案

你做了很多“ View ”但没有“模型”。

当您想创建一个形状时,当鼠标按钮向下/向上时,创建一些代表该形状的数据。

您的数据结构代表持久信息(它是允许您在 session 之间保存和加载此信息的数据)。

所有您的绘制函数需要做的就是查看数据结构并绘制它。因此,这将在调整大小/隐藏/显示之间持续存在。

关于C# 画线 OnPaint() 与 CreateGraphics(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15057406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com