微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何绘制可以在 c#

如何解决如何绘制可以在 c#

我是窗口应用程序开发的新手,目前我在一个流程图 winform 项目中工作。我需要绘制一个如图所示的控件(从 MS word 复制,通过插入-> 形状-> 块箭头)。 [箭头形状] [1]:https://i.stack.imgur.com/P7XBL.png 该箭头可以移动、调整大小和重新调整形状。 我已经寻找了一些解决方案,但大多数都是规则形状。我可以创建一个列表并将箭头的所有 7 个点都放在这个列表中,然后在这些点之间画一条线,一行一行(Graphics::DrawImage)?如果是,那么下一个问题是,如何用纯色填充这个不规则形状?我怎样才能移动这个形状?如果我重绘它,如何擦除旧的形状?

目前我可以使用以下代码拖动和移动控件,但对于这种不规则形状,如何开始?这个项目是C++/CLR,基于.net,欢迎C#或C++/CLI想法。

void MouseDown(Object^ sender,MouseEventArgs^ e)
{
    selected_control = safe_cast<Control^>(sender);
    is_draging = true;
    drag_start_point = gcnew Point(e->X,e->Y);
    selected_control->Capture = true;
}

void MouseUp(Object^ sender,MouseEventArgs^ e)
{
    is_draging = false;
    selected_control->Capture = false;
}

void MouseMove(Object^ sender,MouseEventArgs^ e)
{
    if (is_draging)
    {
        selected_control->Left = Math::Max(0,e->X + selected_control->Left - drag_start_point->X);
        selected_control->Top = Math::Max(0,e->Y + selected_control->Top - drag_start_point->Y);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。