首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以在窗体设计器上不使用C#代码旋转图片框或更改图片框边框的形状?

是否可以在窗体设计器上不使用C#代码旋转图片框或更改图片框边框的形状?
EN

Stack Overflow用户
提问于 2017-05-09 16:55:29
回答 2查看 435关注 0票数 1

我对C#和WinForms非常陌生。我正在尝试创建一个分段显示,其中某些段打开或关闭(使用2015)。

现在,我正在放置图片框与片段,我裁剪和删除背景在GIMP,它工作良好,只要这些片段是足够远的彼此,或是完美的方形。

当它们重叠时,设置图片框背景透明,图片框通过另一个图片框直接透明,只显示矩形图片框覆盖的窗体窗口的背景。

我尝试了两种不同的方法:

  1. 将图片框的默认矩形形状更改为我可以绘制的任何形状;不太确定如何做,而且我认为这是不可能的
  2. 添加一组带有黑色图片的图片框,然后旋转它们并将它们移动到正确的位置,并在特定的部分来掩盖问题时打开它们。然而,我不认为我可以,或知道如何旋转一个完整的图片框,当我放置它?我在C#中的旋转图片框上看到了一些代码,但我不知道如何实现它。我觉得任何事情都必须有一个轮换的选项,我只是错过了。

附上的是一个问题的图片,请注意我是如何发送段(线)的背面和短信引号图像到前面。虚线是画框:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-09 17:45:27

您可以使用WPF项目来完成所需的任务。它比WinForms灵活得多。此外,它还支持真正的透明度。它确实有一些学习曲线,但如果你刚刚开始,我认为你会得到更好的服务开始使用WPF。

您可以在WPF中旋转图像(PictureBox),如下所示:

代码语言:javascript
运行
复制
<Window x:Class="WpfApplication.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="467" Width="616">
    <Grid>
        <Image Source="C:\MyFolder\MyImage.gif">
            <Image.LayoutTransform>
                <RotateTransform Angle="45" />
            </Image.LayoutTransform>
        </Image>
    </Grid>
</Window>
票数 1
EN

Stack Overflow用户

发布于 2017-05-09 17:07:54

winforms设计器没有用于实际UX设计的功能。它主要针对面向数据的应用程序设计简单的UI。您将找不到任何高级功能。您可以调整控件的大小,对齐它们,在容器之间移动。

有先进的方法,如何改变控件的形状。但winforms中没有这种功能。

winforms的透明度是假的。实际上,透明度意味着“我会显示我父母的背景色”。如果您想要“真正的透明度”,则必须将其他控件绘制为目标控件的背景图像。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43875705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档