public partial class Form1 : Form
{
Point pt;
public Form1()
{
InitializeComponent();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics dc = e.Graphics;
Pen blue = new Pen(Color.Blue, 3);
dc.DrawRectangle(blue, pt.X, pt.Y, 50, 50);
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
pt.X = e.X;
pt.Y = e.Y;
this.Text = string.Format("鼠标位置:({0},{1})", pt.X, pt.Y);
panel1.Invalidate();
}
}
解决方案 »
- c# 老遇到的内存不足的问题
- 解决后送80分未能将许可证文件转换为二进制资源索引(从零开始)必须大于或等于零,且小于参数列表的大小。
- datagridview实现分页,为啥不显示更新呢。
- 值传递的问题。。。
- asp.net 1.1做的程序放 asp.net 2.0 上本地能运行, 传服务器上报异常, 高手帮忙
- C#里关于图形方面的问题
- 大家帮帮忙啊。。。流水号问题
- 如何制作个性化的滚动条 紧急求助 给分
- 招兼职开发人员一名(请进)
- 使用TcpClient.ConnectAsync(),如何在任务完成时获得通知?
- 序列化为json
- 7天了!快崩溃了!关于datagridview控件“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”错误求解?
我想实现像visio一样
左边有一些图标,左键点击拖动。
到右边的panel里面绘制。我的思路是这样的。选中左边的,鼠标指针就变成图形的形状了。
然后右边的panel里面鼠标一放,就绘图了。
然后这个图还可以编辑颜色,大小等等。
目前正在分段实验
[email protected]
[email protected] public partial class Form1 : Form
{
Point pt;
public bool a ; public Form1()
{
InitializeComponent();
} private void panel1_Paint(object sender, PaintEventArgs e)
{
if (a==true)
{
Graphics dc = e.Graphics;
Pen blue = new Pen(Color.Blue, 3);
dc.DrawRectangle(blue, pt.X, pt.Y, 50, 50);
} a = false;
} private void panel1_MouseMove(object sender, MouseEventArgs e)
{
a = false;
pt.X = e.X;
pt.Y = e.Y;
this.Text = string.Format("鼠标位置:({0},{1})", pt.X, pt.Y); } private void panel1_MouseDown(object sender, MouseEventArgs e)
{
a = true;
} private void panel1_MouseUp(object sender, MouseEventArgs e)
{
a = true;
}鼠标抬起就绘图,但是实现不了。
a作为布尔型变量设置为一个开关,这样行不?