如何绘制可以在 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 (将#修改为@)