我目前正在使用Winforms和.NET 3.5(工作环境)开发一个简单的图像编辑工具.
我要求当用户单击选择工具按钮时,会出现一个正方形(C#中的矩形),它们可以在100x100和之间缩放400x400.我有点修复 - 问题来自使矩形的背景透明.
关于是否支持透明度.NET 3.5,我有点不清楚,我尝试过以下方法:
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
pnlSelectArea.BackColor = Color.Transparent;
pnlSelectArea.ForeColor = Color.Transparent;
selectArea1.BackColor = Color.Transparent;
selectArea1.ForeColor = Color.Transparent;
Run Code Online (Sandbox Code Playgroud)
但这没有任何效果 - 任何建议都会受到赞赏.
我有一个Form其中包含:
TrackBar(最小值 = 1,最大值 = 200,表示缩放百分比);UserControlBorderStyle = BorderStyle.NonetrackBar1.Value = 100;
BackColor = Color.Gray;
Run Code Online (Sandbox Code Playgroud)
private void trackBar1_Scroll(object sender, EventArgs e)
{
userControl11.SetZoomFactor(trackBar1.Value / 100F);
}
Run Code Online (Sandbox Code Playgroud)
internal float MyBaseWidth;
public UserControl1()
{
InitializeComponent();
MyBaseWidth = Width;
SetZoomFactor(1);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
e.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
Pen p = new Pen(Color.Yellow);
e.Graphics.DrawPath(p, GraphicsPathWithBorder);
}
internal GraphicsPath GraphicsPathWithBorder;
internal void SetZoomFactor(float …Run Code Online (Sandbox Code Playgroud) 我在旋转控制器中工作.我希望控件支持透明背景色.当绘制弧线时,中间有一个空白区域,我希望该空间真正透明,这样我就可以在它后面放置另一个控件,它不会被旋转器覆盖.
我尝试重写CreateParams void.
我还设置了样式以支持TransparentColor.
尝试重写OnPaintBackground无效,但我无法实现真正透明的背景色.
那么,你能建议我做什么?
这是否可以PictureBox在 Windows 窗体中使用三角形控件而不是矩形控件?