修改工作项目一个基类中动态计算右侧按钮位置的方法,发现计算正确,派生类的显示无论是设计界面还是运行时界面,右侧按钮的显示位置却一直不对,最后发现是该按钮的[Anchor]属性被设置成[Top, Right],导致应该显示的位置和实际显示位置相差了基类和派生类的Width差值[如基类width=700,派生类width=500,按钮会在应显示位置左移200的位置处显示,反之则右移]. 结论:使用了[Anchor]属性就不要再去手动计算;使用了手动计算就不要设置[Anchor]属性.
修改工作项目一个基类中动态计算右侧按钮位置的方法,发现计算正确,派生类的显示无论是设计界面还是运行时界面,右侧按钮的显示位置却一直不对,最后发现是该按钮的[Anchor]属性被设置成[Top, Right],导致应该显示的位置和实际显示位置相差了基类和派生类的Width差值[如基类width=700,派生类width=500,按钮会在应显示位置左移200的位置处显示,反之则右移]. 结论:使用了[Anchor]属性就不要再去手动计算;使用了手动计算就不要设置[Anchor]属性.
C# 单例模式基类如何初始化子类 这篇文章中涉及到了线程操作,实际使用时发现如果方法Internal_Start()中睡眠时间较长(例如10秒),操作时在10秒内先调用stop再调用start方法时,希望停止的线程无法停止. 研究了后发现是因为使用的状态位是全局变量,再次调用start时,上一次的stop调用被改为false的状态位还未生效又被改回true,导致调用stop时应停止的线程无法终止同时又启动了一个新线程. 我的解决方法是增加两个全局变量,一个int值记录当前是第几次启动线程(从0开始计数,-1表示线程…
项目需要,有很多操作需要在线程中执行,而且启动线程的结构完全相同,因此想到用父子类并重写基类方法的方式实现,于是啪啪啪就写了写完随便新建一个空窗体测试下,才发现这种写法完全不行,单例在父类中初始化的是父类自己,无论用哪个子类调用,永远执行不到子类重写的方法. 首先想到的是将return _instance == null ? _instance = new ThreadHelper() : _instance;代码中的new ThreadHelper()改为虚方法,在子类中重写,一测试发现这个是静态属性中内容,方法…
WordPress时间函数 the_time('格式字符串'), 根据格式字符串输出不同显示效果的时间,格式字符串列表如下 类型 格式 参数描述 输出效果 年 y 显示后面 2 位数字 03 Y 显示 4 位数字 2003 月 m 数字的,有前缀 0 06、12 n 数字的,没有前缀 0 6、12 F 月份全称(根据网站的语言是中文还是英文) 一月、十二月(January、December) M 月份简写(根据网站的语言是中文还是英文) 一、十二(Jan、Dec) 日 d 数字的,有前缀 0 01、31 j 数字的…
转发: 由于有些非托管的DLL内部异常未有效处理,当托管程序调用到这样的DLL时,就引起托管程序意外退出。 托管程序使用通常的捕获try……catch块不起作用。原因是.NET 4.0里新的异常处理机制引起。 在4.0以前,因为SEH异常被转换成了跟普通.NET异常相同的异常,这样程序员只要用catch ( Exception e)的模式就可以捕捉到所有的异常。这样处理的问题是,由于SEH异常通常都不是托管代码抛出的,托管代码根本就不知道SHE异常被扔出来的原因,简单的catch ( Exception e)处理使…