Winforms应用中的填充橡皮筋如何在不透明度为0.3的窗体上绘制零不透明橡皮筋?(橡皮筋是在微软的示例更新后制作的:我需要那个橡皮筋来做面具之类的东西。如果您使用Jing或任何其他屏幕截图工具,您将在尝试制作屏幕截图时确切地看到我需要做的事情:屏幕变得半透明,并且当您进行选择时,您会看到0opacityselectionwhichisyou寻找机器人?publicForm1(){InitializeComponent();双缓冲=真;}boolmouseDown=false;点m??ouseDownPoint=Point.Empty;点m??ousePoint=Point.Empty;protectedoverridevoidOnMouseDown(MouseEventArgse){base.OnMouseDown(e);=真;mousePoint=mouseDownPoint=e.Location;}protectedoverridevoidOnMouseUp(MouseEventArgse){base.OnMouseUp(e);mouseDown=false;}protectedoverridevoidOnMouseMove(MouseEventArgse){base.OnMouseMove(e);=e.位置;无效();}protectedoverridevoidOnPaint(PaintEventArgse){base.OnPaint(e);如果(mouseDown){区域r=新区域(this.ClientRectangle);矩形窗口=newRectangle(Math.Min(mouseDownPoint.X,mousePoint.X),Math.Min(mouseDownPoint.Y,mousePoint.Y),Math.Abs??(mouseDownPoint.X-mousePoint.X),Math.Abs??(mouseDownPoint.Y-鼠标点.Y));r.Xor(窗口);e.Graphics.FillRegion(Brushes.Red,r);Console.WriteLine("已绘制:"+window);绘图需要部分不透明的颜色:更新MyDrawReversibleRectangle方法中链接文章的MyDrawReversibleRectangle:ControlPaint.DrawReversibleFrame(rc,Color.FromArgb(80,120,120,120),FrameStyle.Dashed);我在我的开源应用程序BugTracker.NET附带的屏幕捕获实用程序中使用了@Dearmash提供的代码,它不是很大,所以如果你正在做屏幕捕获的事情,它可能是一个很好的起点。更多信息:http://ifdefined.com/blog/post/Screen-capture-utility-in-C-NET.aspx只需使用其他形式,而不是在任务栏或其他形式选项中显示。将表单区域设置为仅显示橡皮筋。并确保两个窗口的行为都像一个窗口(移动、关闭……)。我知道这不是一种优雅的方式,但稍加努力就可以产生很好的效果。您可以确保表单位于表单层次结构的顶部,但它仍然不会获得焦点。通过将区域设置为良好,所有事件将进入另一种形式。等价问题我是这样解决的(我不是说这个方案好,但确实有效)以上就是关于C#学习教程:在Winforms应用程序中填充橡皮筋的分享,如果对大家有用的话,我需要想了解更多C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
