社区
C#
帖子详情
C#如何实现选中控件出现虚线框
littlyfx
2009-04-07 12:37:49
如题,我想要的效果是选中窗体中的某个控件(比如按钮)就在其周围产生虚线框
...全文
923
4
打赏
收藏
C#如何实现选中控件出现虚线框
如题,我想要的效果是选中窗体中的某个控件(比如按钮)就在其周围产生虚线框
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nvip
2011-11-25
打赏
举报
回复
[UIPermission(SecurityAction.LinkDemand, Window=UIPermissionWindow.AllWindows)]
public static void DrawReversibleFrame(Rectangle rectangle, Color backColor, FrameStyle style)
{
int num;
Color white;
IntPtr ptr2;
if (backColor.GetBrightness() < 0.5)
{
num = 10;
white = Color.White;
}
else
{
num = 7;
white = Color.Black;
}
IntPtr handle = System.Windows.Forms.UnsafeNativeMethods.GetDCEx(new HandleRef(null, System.Windows.Forms.UnsafeNativeMethods.GetDesktopWindow()), System.Windows.Forms.NativeMethods.NullHandleRef, 0x403);
switch (style)
{
case FrameStyle.Dashed:
ptr2 = System.Windows.Forms.SafeNativeMethods.CreatePen(2, 1, ColorTranslator.ToWin32(backColor));
break;
default:
ptr2 = System.Windows.Forms.SafeNativeMethods.CreatePen(0, 2, ColorTranslator.ToWin32(backColor));
break;
}
int nDrawMode = System.Windows.Forms.SafeNativeMethods.SetROP2(new HandleRef(null, handle), num);
IntPtr ptr3 = System.Windows.Forms.SafeNativeMethods.SelectObject(new HandleRef(null, handle), new HandleRef(null, System.Windows.Forms.UnsafeNativeMethods.GetStockObject(5)));
IntPtr ptr4 = System.Windows.Forms.SafeNativeMethods.SelectObject(new HandleRef(null, handle), new HandleRef(null, ptr2));
System.Windows.Forms.SafeNativeMethods.SetBkColor(new HandleRef(null, handle), ColorTranslator.ToWin32(white));
System.Windows.Forms.SafeNativeMethods.Rectangle(new HandleRef(null, handle), rectangle.X, rectangle.Y, rectangle.Right, rectangle.Bottom);
System.Windows.Forms.SafeNativeMethods.SetROP2(new HandleRef(null, handle), nDrawMode);
System.Windows.Forms.SafeNativeMethods.SelectObject(new HandleRef(null, handle), new HandleRef(null, ptr3));
System.Windows.Forms.SafeNativeMethods.SelectObject(new HandleRef(null, handle), new HandleRef(null, ptr4));
if (ptr2 != IntPtr.Zero)
{
System.Windows.Forms.SafeNativeMethods.DeleteObject(new HandleRef(null, ptr2));
}
System.Windows.Forms.UnsafeNativeMethods.ReleaseDC(System.Windows.Forms.NativeMethods.NullHandleRef, new HandleRef(null, handle));
}
littlyfx
2009-04-07
打赏
举报
回复
可以实现,实在是太感谢拉~
littlyfx
2009-04-07
打赏
举报
回复
马上去尝试,不过先谢谢拉
drls1982
2009-04-07
打赏
举报
回复
ControlPaint.DrawReversibleFrame(new Rectangle(),Color.Red,FrameStyle.Dashed)出现边框,原处再画一次边框消失,根据拖动控件的位置,设置mousemove动态画边框就能实现了
C#
,winform,gdi+,简单
实现
鼠标拉出
虚线
框
,适合初学者
在本文中,我们将深入探讨如何使用
C#
、WinForms和GDI+来创建一个简单的鼠标拉出
虚线
框
的功能,这对于初学者来说是一个很好的实践项目。
C#
是一种面向对象的编程语言,广泛应用于Windows应用程序开发,而WinForms是...
c#
winform 用鼠标画拉出来的
虚线
框
,鼠标
框
选边
框
效
在
C#
WinForm应用开发中,有时候我们需要
实现
一个功能,让用户能够通过鼠标拖动来绘制一个
虚线
框
,以此来
实现
选择或者操作特定区域的效果。这个功能通常用于图像编辑、数据可视化或者其他需要用户进行
框
选操作的场景...
C#
实现
在
控件
上画直线
总的来说,
C#
中的Graphics类和相关的绘图API为开发者提供了强大的图形绘制能力,使我们能够轻松地在WinForm
控件
上
实现
画直线和其他图形的功能。通过与用户交互的结合,可以
实现
更加灵活和定制化的图形界面。
wpf 鼠标拖出
虚线
框
这种效果常用于
实现
用户通过鼠标选择多个对象的
框
选操作,例如在图像编辑器或数据可视化应用中。下面将详细介绍如何在WPF中
实现
这个功能。 首先,我们需要了解WPF中的鼠标事件。在WPF中,我们可以绑定鼠标事件如`...
C#
窗体程序画
虚线
在
C#
编程环境中,开发窗体应用程序时,我们经常需要
实现
各种图形的绘制功能,包括
虚线
。Visual Studio(VS)提供了丰富的
控件
和API,使得开发者能够方便地
实现
这样的功能。下面,我们将深入探讨如何在
C#
窗体程序中...
C#
111,126
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章