最近在做的一个项目,用的地图控件比较特殊,
在地图上面自己绘制的东东没办法随地图一起导出成图片
只能绕个弯,用截屏的方式了
一开始用的是这样:
这个函数在win7中没有任何问题,但在xp中发现,任何遮挡到地图控件的窗体都被截下来了
网上搜搜,发现了一个PrintWindow API可以解决这个问题,用下来发现这个只能截整个窗体,
无法单独截取地图控件,这个就简单了,直接使用BitMap的Clone函数裁剪出来地图控件部分就搞定了,
代码是这个样子:
==============================分割线==============================
以下是用到的一些windows系统api
==============================分割线==============================
参考网址:http://zhidao.baidu.com/question/29867112.html?fr=qrl&cid=869&index=1
分享到:
相关推荐
C#判断窗体是否被遮挡
在C#编程中,开发Windows桌面应用程序时,我们经常需要设置窗体的最大化功能,以提供用户友好的体验。然而,默认情况下,窗体最大化时可能会覆盖任务栏,这并不是我们期望的结果。为了解决这个问题,我们可以自定义...
7. **控制交互**: 考虑到用户体验,可能需要限制用户在弹出窗体显示时对`TextBox`的交互,或者根据弹出窗体的状态改变`TextBox`的行为。 通过掌握以上知识点,你可以创建一个不会遮挡`TextBox`内容的弹出窗体,实现...
窗体的大小和布局应根据实际需求调整,确保其不遮挡主登录窗体。 接下来,我们需要处理多线程以确保等待窗体和登录过程在不同的线程中运行。在C#中,我们可以使用`System.Threading`命名空间下的`Thread`类或者`...
2. **设置窗体属性**:为了达到滚动效果,可能需要将窗体的边框设为无边框,以避免滚动时被遮挡。同时,调整控件的AutoSizeMode属性,以便其内容发生变化时能自动调整大小。 3. **添加定时器**:在解决方案资源管理...
当用户对窗体或控件进行操作时,会引发对应的事件,程序员可以通过编写事件处理代码来响应这些动作。例如,点击按钮时执行特定的函数。 在实际编程中,我们经常需要控制窗体的显示、隐藏和关闭。例如,通过`Show()`...
- 如果多个窗体都需要设置为`TopMost`,可能会导致互相遮挡的问题,这时需要根据具体需求进行适当的处理,例如只让主窗体保持在最上层,或者在某些特定条件下设置窗体为`TopMost`。 - 在开发过程中,应充分考虑用户...
同时,窗体需要设置为顶层窗口,确保阴影不会被其他窗口遮挡。 4. **动态调整**:阴影效果可能需要根据窗体的位置和大小动态调整。这意味着在窗体的大小改变或移动时,需要重新计算和绘制阴影。 5. **封装成类库**...
【基于C#的Z顺序窗体仿抽屉式小程序】是一种创新的用户界面设计,它借鉴了现实生活中抽屉的概念,将多个窗体或控件按照Z轴的前后顺序进行组织和显示,增强了用户交互体验。这个程序的核心是利用C#编程语言的特性,...
- 在处理窗体消息时,要考虑到窗体可能被其他窗口遮挡的情况,可能需要获取最顶层的窗口信息。 - 如果有多个子窗体需要停靠,可能需要维护一个停靠窗体列表,以便在窗体大小改变时更新其他停靠窗体的位置。 7. **...
窗体渐变程序是计算机图形学在用户界面设计中的一个应用,主要体现在Windows应用程序中,通过C#语言实现。在Windows Forms(WinForms)平台上,开发者可以利用.NET Framework提供的丰富的控件和API来创建具有动态...
此外,窗体上的控件可能不会正确响应透明背景,因此需要对这些控件进行额外的处理。 蒙板效果,或者说是蒙版,通常是指在窗体上覆盖一层半透明的色块,以达到部分遮挡或模糊背景的效果。这种效果可以用于提示信息、...
在创建登录窗体时,设置`TopMost`属性为`true`可以确保用户在任何操作时都能看到登录界面,防止被其他应用程序窗口遮挡,从而提高用户体验。以下是实现这一功能的基本步骤: 1. 创建一个新的Windows Forms项目,并...
内容索引:C#源码,菜单窗体,顶层窗体,窗体置顶 C#制作始终显示在最前面的窗体,置顶窗体,也就是不被其它窗体遮挡,总是在最前端。经常用PPS看电视的朋友都知道,PPS有个置顶窗体的功能,选中后,电影始终在窗口的最...
接下来,窗体的漂浮功能通常是指窗口可以在屏幕的任何位置自由移动,不被其他窗口遮挡。在C#中,可以通过设置窗体的`TopMost`属性为`true`来实现。这样,窗体将始终位于其他非顶级窗口之上。 ```csharp this....
然而,这仅仅是使窗体始终显示在其他窗口之上,但窗体仍然会遮挡桌面的图标和快捷方式。为了实现鼠标穿透,我们需要重写窗体的`WndProc`方法,捕获并处理鼠标消息。当用户在窗体上按下鼠标时,我们不处理这些消息,...
设置窗体的大小、位置和透明度,使其不会完全遮挡主窗体,但又能明显提示用户程序正在运行。 3. **启动等待动画** 当开始执行长时间操作时,显示等待窗体。这通常通过调用新窗体的ShowDialog方法实现,因为它会...
使用C#源码编写实现一个支持鼠标穿透的透明窗体实例,从表面上看,不要以为是一个简单的日历程序,操作菜单在系统托盘处,点击托盘处的图标,在右键内点击“是否进行穿透效果”,窗体即变为半透明状态,鼠标可穿透半...
在C# WinForm应用开发中,为程序添加启动动画可以提升用户体验,使用户在等待程序加载时有一种视觉上的反馈,从而感觉程序启动更快。本文将详细介绍如何在C# WinForm项目中实现一个漂亮的启动动画。 首先,我们需要...