aqua_1744 2014-05-13 13:44 采纳率: 0%
浏览 1618

C#请问窗口重绘后内容不消失怎么办到的啊~~~~~~~~

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#大小化后不重绘。

  • 写回答

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秒钟后再将它设置回正常状态。最后,我们比较旧和新窗口的大小,如果它们不同,我们就显示一个警告消息。

    请注意,这只是一个基本的例子,实际的应用可能需要更复杂的逻辑。例如,你可能需要在某些情况下停止重绘,或者在某些条件下启动重绘。

    评论

报告相同问题?