c#PictureBox画直线 矩形

转自:http://blog.csdn.net/hejialin666/article/details/3584285

c#PictureBox的基本使用(画直线,矩形)

下面的四个事件一定要绑定,不绑定任何效果都没有的 

private Point m_ptStart = new Point(0, 0);
private Point m_ptEnd = new Point(0, 0);
// true: MouseUp or false: MouseMove 
private bool m_bMouseDown = false;

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
	if (e.Button != MouseButtons.Left)
	{
		return;
	}  

	if (!m_bMouseDown)
	{
		m_ptStart = new Point(e.X, e.Y);
		m_ptEnd = new Point(e.X, e.Y);
	}
	m_bMouseDown = !m_bMouseDown;
}

private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
	if (e.Button != MouseButtons.Left)
	{
		return;
	}

	if (m_ptStart.X >= 0 && m_ptEnd.X >= 0
		 && m_ptStart.Y >= 0 && m_ptEnd.Y >= 0
		 && m_ptStart.X <= 254 && m_ptEnd.X <= 254
		 && m_ptStart.Y <= 163 && m_ptEnd.Y <= 163)
	{
		m_ptEnd = new Point(e.X, e.Y);
		m_bMouseDown = !m_bMouseDown;
		this.pictureBox1.Refresh();
	}
	else
	{
		m_ptEnd = m_ptStart;
		m_bMouseDown = !m_bMouseDown;
		this.pictureBox1.Refresh();
	}
}

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
	if (m_ptStart.Equals(m_ptEnd)) return;

	e.Graphics.DrawLine(System.Drawing.Pens.Red, m_ptStart, m_ptEnd);
	
   //画矩形加上以下六行
   //if (m_ptEnd.X - m_ptStart.X < 0 || m_ptEnd.Y - m_ptStart.Y < 0)
// {
//     return;
//}

   //e.Graphics.DrawRectangle(System.Drawing.Pens.Blue, m_ptStart.X, m_ptStart.Y, m_ptEnd.X - m_ptStart.X, m_ptEnd.Y - m_ptStart.Y);
}

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
	if (e.Button != MouseButtons.Left)
	{
		return;
	}
	
	m_ptEnd = new Point(e.X, e.Y);
	this.pictureBox1.Refresh();
}




C在编程语言中是一种非常重要的语言,它是一种高级编程语言,被广泛用于系统编程、嵌入式系统、图形图像处理等领域。C语言由贝尔实验室的Dennis Ritchie发明,近年来它已经成为了众多计算机科学教育体系中必须学习的语言。C语言具有执行效率高、资源利用率高、可移植性强、能够直接访问物理内存等特点,因此在计算机科学领域具有重要的地位。 C作为一种静态语言,使用时需要定义变量类型、函数类型等,这使得编译器可以在编译期间分配内存空间,提高了程序执行的效率。而动态语言则需要在运行时才分配内存空间,导致性能损失。C语言的函数库非常丰富,包括字符串处理、文件操作、正则表达式等众多函数,能够满足各种复杂的编程需求。此外,C语言具有高度的可移植性,可以跨平台编程,可以在不同的计算机平台上编写程序。 在计算机科学领域,C语言主要用于操作系统、编译器、嵌入式系统、网络协议开发、游戏开发等领域。其中,操作系统和编译器开发是C语言的主要领域,因为操作系统需要高效的内存管理、进程调度等功能,而编译器则需要高效的代码生成和优化能力。此外,C语言还被广泛应用于网络协议开发,因为网络协议需要高效的数据传输和处理能力。 总的来说,C语言是一种非常基础和基本的编程语言,它具有高效、可移植、灵活等优点,被广泛应用于计算机科学领域的各个方面。无论你是想成为程序员、系统工程师还是网络安全专家,学习C语言都是基础和必要的。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值