共计 6 篇文章

异常吞噬问题一则

问题 在一个 Timer 时钟的周期方法内,有一个 foreach 循环,当执行到某些特定的语句时,会从头开始执行,而不会执行后续的语句。 分析 该问题我在初步分析之后,发现可能是由于程序出现了异常,但是被吞噬掉造成的。在我某一个 item 元素当中,其值为 null 应该会抛出空异常。 ...

WinForm 在线程中启动新的窗口

由于工程需要在线程当中加载一个新的WinForm窗口,但是直接在线程中加载会立即闪退,我认为是线程执行完成之后自动销毁了new的窗口。 new Thread(()=>{new Form2().Show();}).Start(); 之后谷歌了一番,有人提到使用异步委托在线程中来加载新的窗口: new Thread(()=>{BeginInvoke(new MethodInvoker(()=> { new ...

实现毛玻璃效果

经过测试只能在Windows7 下正常使用,在Win8或者Xp下面无法正常显示毛玻璃效果。 首先你要先创建一个结构体如下: [StructLayout(LayoutKind.Sequential)] public struct MARGINS { public MARGINS(Thickness t) { Left = (int)t.Left; Right = (int) ...