lanhai96 2021-12-02 09:49 采纳率: 0%
浏览 136

C#如何旋转自定义控件?模拟时钟

做一个模拟时钟的WinForm程序,用背景图组成一个时钟,背景图分别为表盘背景、分针.png、秒针.png三个图片,为了叠加的时候能够实现透明,自定义了一个控件,控件里分别放分针.png、秒针.png图片。然后在窗口里调用自定义控件,最后想使用定时器每秒旋转放秒针.png的控件,从而实现时钟效果。

public partial class TestDrawingTransparentImage : Form
{
public TestDrawingTransparentImage()
{
InitializeComponent();

    }
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
       // Graphics g = e.Graphics;
        Control ct = this.drawingMiaozhen1;//秒针的控件
        System.IntPtr mz_handle = ct.Handle;
        Graphics g = Graphics.FromHwnd(mz_handle);
        g.RotateTransform(180);

    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        this.Invalidate();
    }
}

运行的时候,测试时1分钟后,旋转函数执行后,窗口什么都没显示。

img


运行后,测试1分钟后,函数执行后,窗口什么都没有

img

怎么实现正常旋转呢?求指导啊?

  • 写回答

2条回答 默认 最新

  • CSDN专家-文盲老顾 2021-12-02 10:28
    关注

    旋转函数执行后,窗口什么都没显示。

    你的旋转函数呢?

    评论

报告相同问题?

问题事件

  • 创建了问题 12月2日

悬赏问题

  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程