C# .NET中如何在面板(Panel)上进行绘图?
发布网友
发布时间:2022-05-23 21:22
我来回答
共2个回答
热心网友
时间:2024-02-17 09:53
所有控件(Control类的派生类)都有CreateGraphics方法提供画板,所以你可以:
//假设panel1是将直线盖住的控件
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.Clear(BackColor);panel1.CreateGraphics().Clear(panel1.BackColor);
e.Graphics.DrawLine(Pens.Black, new Point(0, 0), new Point(ClientRectangle.Width, ClientRectangle.Height));
//注意坐标系变换。
panel1.CreateGraphics().DrawLine(Pens.Black, new Point(-panel1.Left, -panel1.Top), new Point(ClientRectangle.Width - panel1.Left, ClientRectangle.Height - panel1.Top));
}
private void Form1_SizeChanged(object sender, EventArgs e)
{
Form1_Paint(this, new PaintEventArgs(CreateGraphics(), ClientRectangle));
}
热心网友
时间:2024-02-17 09:54
直接绘制~
C# .NET中如何在面板(Panel)上进行绘图?
//假设panel1是将直线盖住的控件 private void Form1_Paint(object sender, PaintEventArgs e){ e.Graphics.Clear(BackColor);panel1.CreateGraphics().Clear(panel1.BackColor);e.Graphics.DrawLine(Pens.Black, new Point(0, 0), new Point(ClientRectangle.Width, ClientRectangle.Height));//注意...
c# 如何在panel上绘图??
由于Panel采用系统支持的绘图模式, 所以你直接在上面绘图很有可能被系统重绘覆盖. 我帮你修改了绘图函数, 在Panel的BackGroundImage上绘图, 见代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.F...
c#中在一个Panel里画图 怎样能让前面画的图
//你想在不同的panel里面画图,把 //panel1改 panel2 ,panel3,panel4 // 就好了 Pen redpen = new Pen(Color.Red, 2);//定义画笔 dc.DrawRectangle(redpen,x,y,w,h);//画长方形,然后是坐标和长度
C#中如何在Panel控件中显示图形拜托各位了 3Q
最简单的方法是在PANEL里加一个PictureBox控件,然后将你的图像赋给它的Image 属性 再重绘就可以了!
C#中关于PANEL控件的Graphics绘图
其实关键就是图形和界面之间相对位置的处理了——界面是静止的,那么只有让图动起来,看我的改造: 注意上面两个图形的坐标,0-99和9~99,然后看相应的图形。的确界面没动,但图形动了,看起来就像是Panel向右滑动了10个单位一样。修改Scoll事件中的绘图方法就可以达到所需要的效果了 1 2 3 4 5 6 7 8 9 10 11...
C# winform 如何在多个panel上画同样的图
1有两个图像资源。2有两个或者多个panel ,需要画出这个图像。3要求这几个panel画出同一个图像。如果如我锁描述的想法。那么解决办法如下。你这个操作涉及的问题是数据共享问题。因此需要你有一个可供几个panel共享访问的内存地址。也就是C#里的变量。解决办法。 在某个panel类里 写入一个 静态变量(...
C# 从panel中画一条竖线
//绘制中线 graphics.Clear(Color.LightYellow);float x1 = this.panel1.Width / 2;float y1 = 0;float x2 = this.panel1.Width / 2;float y2 = this.panel1.Height;//注意坐标系的定义 graphics.DrawLine(new Pen(Color.Black, 2), x1, y1, x2, y2);string temp = string.Format...
c#.net panel形成一个可移动的矩形 可以绘制多个
int x = 0;int y = 0;private void button1_Click(object sender, EventArgs e){ Graphics g = Graphics.FromHwnd(panel1.Handle);//X,Y是矩形左上角的坐标。绘制多个就复制几个就好,只是XY坐标不能重复 g.DrawRectangle(Pens.Red, new Rectangle(x++, y++, 10, 10));} ...
C# 关于在panel中显示窗体的问题
但是我有个解决楼主问题的办法。首先,我们要知道,什么是标题栏,标题栏的本质是什么:其实就是在窗体上方显示窗体名称的一个panel,只是样子有点不同而已。那么解决方法自然而然就出来了,我们完全可以自己定义一个panel放到窗体的最上面,然后写上窗体的名字,再把样式设置成我们想要的样式就ok了啊!
C#中用Graphics绘制Panel的问题?
// //将bitmap中对应的1/4给绘制出来 // g.DrawImage(img,point[i]);// } // else // { // return;// } //} } 原因我已经找到!Panel控件 里面大概有这么一个集合 panel1.Controls 控件集合 这可能是堆栈的问题 当你在panel1控件添加子控件时 添加顺序为 panel...