private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics g = Graphics.FromImage(myBitmap);
g.DrawLine(myPen, pStart, pEnd);
e.Graphics.DrawImage(myBitmap, 0, 0);
。。。。
}
怎么补充完这个代码中的内容啊~使C#大小化后不重绘。
C#请问窗口重绘后内容不消失怎么办到的啊~~~~~~~~
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-02 02:18关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在.NET Framework中,当窗口被最大化或最小化时,系统会自动进行重新绘制。因此,你不需要手动调用
Graphics对象来进行重绘操作。如果你希望实现某种特定的行为(例如,当你点击某个按钮时,窗口应该回到原尺寸),你可以通过事件处理程序来触发这种行为。以下是一个简单的例子:
private void button1_Click(object sender, EventArgs e) { // 获取当前窗口的大小 Size windowSize = this.Size; // 设置新的窗口大小 this.WindowState = FormWindowState.Minimized; // 等待一定时间(例如5秒) Thread.Sleep(5000); // 重置窗口大小 this.WindowState = FormWindowState.Normal; // 获取新窗口的大小 Size restoredWindowSize = this.Size; // 比较旧和新窗口的大小 if (windowSize.Width != restoredWindowSize.Width || windowSize.Height != restoredWindowSize.Height) { // 如果大小不同,则显示警告消息 MessageBox.Show("窗口已恢复为原始大小"); } }在这个例子中,我们首先获取当前窗口的大小,然后将其设置为最小化状态,等待5秒钟后再将它设置回正常状态。最后,我们比较旧和新窗口的大小,如果它们不同,我们就显示一个警告消息。
请注意,这只是一个基本的例子,实际的应用可能需要更复杂的逻辑。例如,你可能需要在某些情况下停止重绘,或者在某些条件下启动重绘。
解决 无用评论 打赏 举报