是否可以在窗体设计器上不使用 C# 代码来旋转图片框或更改图片框边框的形状?
Is it possible to rotate a picture box without C# code on the Form Designer or change shape of picture box border?
我对 C# 和 WinForms 还很陌生。我正在尝试创建一个分段显示,其中某些分段会打开和关闭(使用 Microsoft Visual Studio 2015)。
现在我在 GIMP 中放置带有我裁剪和删除背景的片段的图片框,只要这些片段彼此之间的距离足够远,或者是完全正方形,它就可以正常工作。
当它们重叠时,将图片框背景设置为透明,图片框透明直接穿过另一个图片框,只显示矩形图片框覆盖的表格window的背景。
我尝试了两种不同的方法:
将图片框的默认矩形更改为我可以绘制的任何形状;不太确定该怎么做,我认为这不可能
添加一堆图片为深黑色的图片框,然后将它们旋转移动到正确的位置,并在特定片段出现时打开它们,以掩盖问题。但是,我不认为我可以,或者不知道如何在放置时旋转整个图片框?我在 C# 中看到了一些关于旋转图片框的在线代码,但我不确定如何实现它。我觉得对于其他任何东西都必须有一个我只是缺少的旋转选项。
附上问题图片,注意我是怎么把段(行)发到后面,短信引用图片发到前面的。虚线为图片框:
winforms 设计器没有真正的 UX 设计功能。它主要针对为面向数据的应用程序设计简单的UI。您将找不到任何高级功能。您可以调整控件的大小、对齐它们、在容器之间移动。
有高级方法,如何改变控件的形状。但是在winforms designer中是没有的。
winforms 中的透明度是假的。实际上,透明度意味着 "I'll show the background color of my parent"。如果你想要"true transparency"你必须绘制其他控件作为目标控件的背景图像。
您可以使用 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>
我对 C# 和 WinForms 还很陌生。我正在尝试创建一个分段显示,其中某些分段会打开和关闭(使用 Microsoft Visual Studio 2015)。
现在我在 GIMP 中放置带有我裁剪和删除背景的片段的图片框,只要这些片段彼此之间的距离足够远,或者是完全正方形,它就可以正常工作。
当它们重叠时,将图片框背景设置为透明,图片框透明直接穿过另一个图片框,只显示矩形图片框覆盖的表格window的背景。
我尝试了两种不同的方法:
将图片框的默认矩形更改为我可以绘制的任何形状;不太确定该怎么做,我认为这不可能
添加一堆图片为深黑色的图片框,然后将它们旋转移动到正确的位置,并在特定片段出现时打开它们,以掩盖问题。但是,我不认为我可以,或者不知道如何在放置时旋转整个图片框?我在 C# 中看到了一些关于旋转图片框的在线代码,但我不确定如何实现它。我觉得对于其他任何东西都必须有一个我只是缺少的旋转选项。
附上问题图片,注意我是怎么把段(行)发到后面,短信引用图片发到前面的。虚线为图片框:
winforms 设计器没有真正的 UX 设计功能。它主要针对为面向数据的应用程序设计简单的UI。您将找不到任何高级功能。您可以调整控件的大小、对齐它们、在容器之间移动。
有高级方法,如何改变控件的形状。但是在winforms designer中是没有的。
winforms 中的透明度是假的。实际上,透明度意味着 "I'll show the background color of my parent"。如果你想要"true transparency"你必须绘制其他控件作为目标控件的背景图像。
您可以使用 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>