如何在透明窗体上画出不透明的线条
并且透明处不能让鼠标穿透。
--
并且透明处不能让鼠标穿透。
--
解决方案 »
- 用一幅800M的tif图像初始化一个Bitmap对象,提示内存不够怎么解决
- 使用ilasm出现不能打开IL文件的情况,如何解决?
- sql处理并发访问机制的时候,是否是通过使用锁来实现的?
- 怎样利用反射遍历一个类的所有枚举?
- 请教C#的三层架构的编写思路
- 怎样添加一个Checked = true的节点????
- 关于mdi窗口的问题,郁闷,200分,顶者有分
- 关于图像的裁剪问题
- 怎么所见既所得的得到当前刚填充的数据集记录下来并在水晶报表里按一定格式打印
- 水晶报表问题
- visual Studio C#编程软件问题!!急急急!!!
- textbox如何直接模糊查询datagridview里当前已有的数据,而不跑到数据库去查找
2, 创建个pen,用pen在透明窗体上画自由线(通过鼠标移动,把线画出来)
3, 为了能用鼠标画,在透明窗体上不能让鼠标消息穿透(因为不做特殊处理的话,透明窗体上的鼠标消息会被传到下层窗体)
1 用showDialog。
2.因为已经完全透明了.所以就穿透了.可以设置透明度为1%。
3.Graphics.FillRectangle填充一层Color.Fromargb(1,255,255,255)虽然看起来还是透明的,但实际已经不穿透了。
此方法不能用,因为架构问题
2.因为已经完全透明了.所以就穿透了.可以设置透明度为1%。
此方法也将画在透明窗体上的线条透明了
3.Graphics.FillRectangle填充一层Color.Fromargb(1,255,255,255)虽然看起来还是透明的,但实际已经不穿透了。
此方法也可能将画在透明窗体上的线条透明了
http://www.cnblogs.com/jianu/archive/2010/07/03/1770293.html
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;namespace WindowsFormsApplication35
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); this.FormBorderStyle = FormBorderStyle.None;
this.Paint += new PaintEventHandler(Form1_Paint);
} void Form1_Paint(object sender, PaintEventArgs e)
{
GraphicsPath GP = new GraphicsPath();
GP.AddPie(new Rectangle(0, 0, 100, 100), 0, 100);
GP.AddLine(0, 0, 200, 200);
this.Region = new Region(GP); Graphics G = this.CreateGraphics();
G.FillPie(Brushes.Red, new Rectangle(0, 0, 100, 100), 0, 100);
G.DrawLine(Pens.Black, 0, 0, 200, 200);
G.Dispose();
}
}
}