需要注意的是,必须从UI线程,另外启动一个线程才可以. 在新线程调用异步刷新就OK了 Thread thread; private void button1_Click(object sender, EventArgs e) { thread = new Thread(new ThreadStart(AnotherRefresh)); thread.IsBackground = true; thread.Start(); } private void AnotherRefresh() { MyR…
在WinForm中可以方便的集成AnyCAD.Net三维控件,只需要以下几部即可完成. 一.添加DLL程序集 AnyCAD.Foundation.Net.dll AnyCAD.Presentation.Net.dll AnyCAD.Exchange.Net.dll 二.初始化控件 1.首先创建一个窗体 2.在窗体上放置一个Panel用来放置三维控件 3.初始化控件 完整代码如下: public partial class MainForm : Form { private RenderWindo…
今天的任务就是详细研究一下protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)方法.如果只是说要重写什么方法有什么用的话,还是不太清楚.先去源码中看看为什么要重写onMeasure()方法,这个方法是在哪里调用的: 一.源码中的measure/onMeasure方法: protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {…
我现在做的项目遇到一个需求,就是有没有类似的控件: 我要实现的功能是:播放录像. 某个时间段内假如有2个录像,这个坐标表示的是时间,假如我现在拖动时间轴,拖到第一个录像里面开始播放第一个录像,拖到2个录像中间的时候就没有了,然后就停止播放,拖到第二个时间轴的时候,又开始播放第二个录像文件. 请问有没有类似的控件,可以显示一段时间内有几个录像,并且让用户一眼就看到录像的起始时间,然后可以拖动这个时间轴,开始播放录像文件. 如果有知道的或者以前遇到过的,请大家和我说说,万分感谢,现在着急等着啊,我百…
ListView在View属性为Details的时候它呈现的方式和DataGirdView差不多,它的每一行都是一个ListViewItem,然而每个ListViewItem都有一个BackColor的属性,但是设置了这个属性却没有任何作用.因为是ListView的每一行的样式都继承的父控件的样式所以无法改变. 解决方案: ListViewItem item; item = new ListViewItem(new string[] { "NAME","" });…
第一步.新建窗体项目命名为:TestWelcomeFrm,如下图: 第二步.在新项目中,增加欢迎窗口,命名为WelFrm,整个项目目录如下: 第三步.修改program.cs中启动代码如下: WelFrm welFrm = new WelFrm(); if (welFrm.ShowDialog() == DialogResult.OK) { Application.Run(new ManiFrm()); } 第四步.修改welFrm窗口,增加Timer触发器控件,并设置其触发事件为:timer1…
最直白的例子: private void btnStart_Click(object sender, EventArgs e) { ; ) { labelTime.Text = i.ToString(); Thread.Sleep(); } } 运行的时候窗口死在哪里似的,不能动.这是不对的,下面看两种对的方法: 第一种方法:Timer System.Windows.Forms.Timer 用于以用户定义的事件间隔触发事件. Windows 计时器是为单线程环境设计的,其中,UI 线程用于执行处…
WinForm默认只提供了DateTimePicker,今天的项目只用时间,不能出现日期,百撕不得骑姐(^^),也没花多少时间,随便试了一下,就成功了,分享一下. 在DateTimePicker属性中设置: Format:TimeShowUpDown:true…
private ToolTip tooltipCtr; 构造函数中: 隐藏默认的Tooltip:this.ShowCellToolTips = false; this.tooltipCtr = new ToolTip(); 设置停留时间(还有许多其他时间设置):this.tooltipCtr.AutoPopDelay = 1000 * 60; 在CellMouseEnterHandler等事件中设置数据,在鼠标处设置文本:tooltipCtr.Show(HttpUtility.HtmlDecod…
单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如: private void btnSet_Click(object sender, EventArgs e) {         Thread t = new Thread(new ParameterizedThreadStart(SetTextBoxValue));     //当然也可以用匿名委…