我对C#和WinForms非常陌生。我正在尝试创建一个分段显示,其中某些段打开或关闭(使用2015)。
现在,我正在放置图片框与片段,我裁剪和删除背景在GIMP,它工作良好,只要这些片段是足够远的彼此,或是完美的方形。
当它们重叠时,设置图片框背景透明,图片框通过另一个图片框直接透明,只显示矩形图片框覆盖的窗体窗口的背景。
我尝试了两种不同的方法:
附上的是一个问题的图片,请注意我是如何发送段(线)的背面和短信引号图像到前面。虚线是画框:
发布于 2017-05-09 17:45:27
您可以使用WPF项目来完成所需的任务。它比WinForms灵活得多。此外,它还支持真正的透明度。它确实有一些学习曲线,但如果你刚刚开始,我认为你会得到更好的服务开始使用WPF。
您可以在WPF中旋转图像(PictureBox),如下所示:
<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>
发布于 2017-05-09 17:07:54
winforms设计器没有用于实际UX设计的功能。它主要针对面向数据的应用程序设计简单的UI。您将找不到任何高级功能。您可以调整控件的大小,对齐它们,在容器之间移动。
有先进的方法,如何改变控件的形状。但winforms中没有这种功能。
winforms的透明度是假的。实际上,透明度意味着“我会显示我父母的背景色”。如果您想要“真正的透明度”,则必须将其他控件绘制为目标控件的背景图像。
https://stackoverflow.com/questions/43875705
复制相似问题