用UserControl和drawLine画图的重绘

问题描述

界面画网络拓扑图,因为网络节点需要支持点击事件,所以做成了UserControl的,节点之间的链路直接用Graphics.drawLine()方法绘制,当窗口改变大小后节点还在,但是画的直线没了。希望能实现的效果是窗口改变大小后网路拓扑图会相应的改变,希望有知道的麻烦给个思路谢谢~!

解决方案

解决方案二:
画线要在Paint事件里,如果没有放在这个事件里画,在重绘以后就会消失了。
解决方案三:
大小改变时候update~一种是control的paint中绘制,一种在pixturebox绘制

时间: 2024-11-27 14:25:48

用UserControl和drawLine画图的重绘的相关文章

请教一个重绘操作的做法,以zedGraph为背景做GDI画图,重绘事件怎么处理

问题描述 具体代码如下,已经实现图形平移,但是图形被覆盖时,重绘事件做不出来,有知道的吗,敬请指教usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingZedGraph;usingSystem.Drawing.Imaging;usingSys

绘制直线的重绘问题

问题描述 我在做一个简单的画板,做到了绘制知道的地方,但是再画第二次直线的时候就会把前面的一条直线给擦掉,请问谁有关于直线重绘的代码,帮忙给我介绍一下呀,急需! 解决方案 解决方案二:你没说你用什么方法绘制的,如果可以,请贴出关键代码解决方案三:privatevoidpictureBox1_MouseMove(objectsender,System.Windows.Forms.MouseEventArgse){if(drawing){Graphicsg=this.pictureBox1.Crea

graphics-急求怎么实现单击按钮重绘面板啊

问题描述 急求怎么实现单击按钮重绘面板啊 就是我写了一个jframe类 里面定义了a1,a2,a3等几个面板,然后我又写了一个JPanel类,jpanel类写了一个paint()方法,主要是实现画一条曲线的功能,然后我在jframe类里面定义a1=new jpanel():然后运行jframe 的时候a1面板就自动加载了一天曲线,我现在想实现的是 在jframe里面加上一个按钮,单击按钮,给jpanel传参--也就是传入两个数组分别作为x.y轴的数据 然后重绘,同时单击按钮后,要面板的曲线重绘成

重绘问题,急需求解,在线等

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespace自动演示皇后问题{publicpartialclassForm1:Form{publicintn;//输入的皇后个数publicfloatx;//画表格的横坐标publi

Tabcontrol控件选项卡重绘后,标题不见了

问题描述 练习了下tabcontrol重绘,在选项卡上面加一个关闭"按钮",功能实现了,但是选项卡上面的标题文本不显示了,请问下有没有人懂得,下面是代码:privatevoidtabControl1_DrawItem(objectsender,DrawItemEventArgse){try{RectanglemyTabRect=this.tabControl1.GetTabRect(e.Index);e.Graphics.DrawString(this.tabControl1.TabP

c#窗体-C#请问窗口重绘后内容不消失怎么办到的啊~~~~~~~~

问题描述 C#请问窗口重绘后内容不消失怎么办到的啊~~~~~~~~ private void pictureBox1_Paint(object sender, PaintEventArgs e) { Graphics g = Graphics.FromImage(myBitmap); g.DrawLine(myPen, pStart, pEnd); e.Graphics.DrawImage(myBitmap, 0, 0); .... } 怎么补充完这个代码中的内容啊~使C#大小化后不重绘.

MFC 窗口重绘问题

在客户区画直线等图形时, 发现当其最小化或者其他窗口遮挡时,出现窗口重绘,而将原来绘制的图形删除,上网上搜索知道,绘制图形的代码必须放置在Ondraw函数中,才能避免重绘时图形消失(因为一直在响应WM_PAINT消息,不断的重绘),但是这样做却只能保存最近的一次绘图,只适用于单幅固定的图形,对于其中有多幅图形就不能这么做了,解决的思路是:考虑到MFC时 文档/视图 类,视图CView负责数据的显示和修改,文档CDocument类负责数据的存储和加载,从而把数据管理和显示方法分离开来.我们在CDo

C#中用“橡皮条”法绘图和重绘

前些日子在论坛上发了个帖子,100分寻求"橡皮条"法绘图的代码.效果不是很好,于是自己参照网友给的代码重新写了一个,解决了绘图与重绘的问题.由于只写了部分,所以功能有限,同时可能算法不是很好,希望大家指点!!窗体中仅包含一个pictrueBox1,先将代码付诸于下:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Form

用SetStyle方法重绘你的窗体

鲜为人知的SetStyle方法可以让你控制重绘一个窗体的方式. by Ken Getz 注:Ken Getz在Orlando的VSLive!上同Brian Randell一起举办了一个主题为"Build a Rich Client App with Visual Studio .NET"的研讨会.本篇技巧选自该研讨会的资料.运用GDI+和Windows窗体,我们可以很容易地创建一个渐变色(gradient)来填充一个区域.运用.NET Framework提供的简单的方法,你可以创建li