解决方案 »
- c# 打开word 文档后如何禁用word保存和预览按钮
- 安装程序安装和卸载Windows服务的问题
- 如何把menu的click用代碼指給某button的click事件。
- VS2003中怎么实现FILECOPY时那个AVI播放?
- 关于 button1 控件 Image 属性问题 高手请进(需要控制Image边框) 问题相对复杂相对简单
- 请问哪里有介绍VS.net控件的详细使用的网站或书籍?比如每个属性怎么用的?
- 高手帮忙看下这多线程怎么了。好慢。。。
- 请教关于页面链接路径的问题
- 如何取得局域网内的所有数据库服务器列表,并进一步取得某个服务器的结构信息.
- 关于Treeview和TabControl控件的结合使用
- winform如何给动态创建的文本框赋值和取值?
- winform 如何同时打印图片和文字
2、使用一个标志,来指示是否在‘后期’绘画中加网格线。
3、如果标志改变,要求pictureBox进行刷新,以显示最新变动。
4、画网格线可以用Graphics.DrawLine。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.pictureBox1.Paint += pictureBox1_Paint; // 1
} void pictureBox1_Paint(object sender, PaintEventArgs e)
{
if (!this.gridVisible) return; Rectangle rect = this.pictureBox1.ClientRectangle;
float gridWidth = (rect.Width - 1f) / (gridLines - 1);
float gridHeith = (rect.Height - 1f) / (gridLines - 1);
for(int i = 0; i < gridLines; i++) // 4
{
e.Graphics.DrawLine(Pens.Red, rect.Left, gridHeith * i, rect.Right, gridHeith * i);
e.Graphics.DrawLine(Pens.Red, gridWidth * i, rect.Top, gridWidth * i, rect.Bottom);
}
} bool gridVisible = true;
const int gridLines = 4;
private void button1_Click(object sender, EventArgs e)
{
gridVisible = !gridVisible; // 1
this.pictureBox1.Invalidate(); // 2
}
}
this.pictureBox1.Invalidate(); // 3
bool gridVisible = true;
这个可以定义一个属性:
public bool ShowGridLine
{
get { return gridVisible; }
set { gridVisible = value; }
}