双缓冲
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();
还有就是局部刷新
Rectangle rect = new Rectangle(new Point(0,0),new Size(50,50));
this.Invalidate(rect);
这两句可以加在属性里,表明只是刷新从坐标(0,0)开始的大小为50,50的区域
不过感觉数据每次都是变化的,,这样做,可能之前画的波形不会被覆盖.
尽可能的缩小波形图的大小,并且延长sleep间隔
比如系统里的进程管理器,迅雷的流量监视,他们的间隔都是1秒.
这对一般用户就已经可以接受了.
用C#.net的GDI+画图,如何实现图像的旋转,比如直线,矩形,椭圆等等,用RotateTransform或者不用都可以~
画“直线,矩形,椭圆”这个是怎么画的???c#.net GDI+里面有相应的函数,那旋转是一样的,你画直线时,需要提供参数,画矩形时也需要提供参数,旋转只不过是参数变量变了而已。求出变量就可以了!
使用GDI是可以实现的,我只说下思路吧,代码自己写吧:
图中效果可以使用Form+图片来实现,其中图片为GDI绘制完后赋值到Form中的,Form可以将背景设置为透明色,只显示图片,许多游戏登陆界面的不规则窗体都是这么做的。
图片的绘制思路:
边框圆边:可以截图后用PS扣出边框以内的圆形图片保存为png格式,背景颜色为空,也就是除了圆以外的地方(图片为矩形)都没有背景色。
中间人物图标:直接抠图
扇形进度条:用GDI里的Graphics.DrawPie(参数……),里面有设置开始角度和结束角度的参数,按你需求设置将圆分为多少份儿(360°),没增加一个进度格(如果分为360份)绘制一个DrawPie并增加一度的开始角度和结束角度,并设置填充颜色。
绘制流程:先DrawImage()绘制圆形边框->绘制DrawPie()->最后绘制人物图片
最后将绘制的图片赋值到form窗体的控件中,将Form窗体控件背景色设为透明色,隐藏窗体标题栏FormBorderStyle设置
具体怎么设置背景透明百度下就有
希望帮到你
#17161911001#
在winform中用C#编程实现菜单栏中的各种功能该怎么编代码啊?我只知道怎么关闭,像打开,保存,工具栏都不 ******
#那环# 什么也不说了,直接代码: 打开: OpenFileDialog open = new OpenFileDialog(); open.Filter = "All File(*)|*.*"; open.Title = "打开"; if (open.ShowDialog() == DialogResult.OK) { //这里处理打开文件后代码 } open.Dispose(); 保存: ...
#17161911001#
如何用C#在WINFORM中,制作自定义的流程图或者是工作流 - ******
#那环# 应该很好做啊,最重要是对象层次结构的设计,这个问题要回答要用太多文字了.只能简单陈述了: 1.FlowChartDocument类,负责整个图形的载入,保存,显示,放大和缩小等等 2.FlowChartDocument类使用XML来存储整个图形; 3....
#17161911001#
C#如何制作winform动态曲线图 - ******
#那环# 下个微软的chart控件,装好后引到程序中,属性里面设置,就和datagrid差不多,看看就会了
#17161911001#
如何使用C#编写获取机器人坐标的winform程序 - ******
#那环# private void Form1_Move(object sender, EventArgs e) { this.label1.Text = this.Location.X.ToString() + "," + this.Location.Y.ToString(); } 注意:Form1是窗体类名,label1是Form1窗体里面的一个Label控件,注意这个事件是Move事件,也就是窗口移动事件
#17161911001#
winform运行中怎么用C# 代码调整窗口位置,特别是怎么居中到屏幕中央??? 设置属性 StartPosion 不行 - ******
#那环# 获取当前屏幕分辨率->获取当前窗口大小->计算如果居中的话当前窗口的位置->给当前窗口位置赋值 方法挺笨的,不过可以实现,代码如下,测试通过. int height = System.Windows.Forms.SystemInformation.WorkingArea.Height; int width = ...
#17161911001#
c# winform 怎么执行外部命令 - ******
#那环# 给个方法你!这个是一个CMD的ping命令,然后返回命令的字符串 public static string CmdPing(string strIp) { System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute =...
#17161911001#
c#winform 扩展怎么使用 - ******
#那环# 为了在应用程序中使用组件,必须首先添加对组件的引用. Visual Studio 在“添加引用”对话框中提供了五个选项: “.NET”:列出可供引用的所有 .NET Framework 组件. “COM”:列出可供引用的所有 COM 组件.
#17161911001#
c#控件 winform怎么使用 - ******
#那环# 在buttonA_Click里面加入: buttonB_Click(buttonB,new EventArgs());
#17161911001#
如何用c#winform应用程序调用c++控制台应用程序??? - ******
#那环# // 方法1 System.Diagnostics.Process.Start(@"cpp-console.exe", "/1 /2"); // 立即运行 // 方法2 System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo = new System.Diagnostics.ProcessStartInfo(@"cpp-console.exe", "/1 /2"); process.Start(); // 推迟运行 // 假设cpp-console.exe是你的c++控制台程序,/1 /2是参数
#17161911001#
熟悉C# WinForm程序,了解接口怎么用高手帮我解答一个问题? - ******
#那环# 回答你的问题: 1 接口是一种程序规范,接口中的方法必须要去实现,你的那三个文件与接口没有联系,在写面向对象思想的程序时,在涉及到业务逻辑的类设计之前,一般先进行接口设计,也就是先做好基本的框架,在实施过程中,用类直接...