在属性面板上,有一个Locked属性,什么时候添加上去的,真是没有注意到,它的说明为:确定是否可以移动控件或调整控件的大小,默认是为false的,设置为true以后,当前选中的控件会在左上角出现一个锁的标志,这个时候无法调整大小或者是移动它的,它的作用就是为了防止在操作其他的控件的时候,无意中影响到本不该影响到的控件。应该说,它还是很有用处的。只不过,除了属性面板上的说明之外,在包括MSDN的各种文档中都无法找到有关于它的说明,代码编辑的时候没有关于它的提示,甚至都不能确定它究竟是不是一个属性。也许,鉴于它的用处,微软把它设计为一个仅仅在设计时能够访问的属性? Read More
posted @ 2014-02-28 15:44 芥子-dancingbit Views(178) Comments(0) Diggs(0)
这两天又在看以前的书,今天看到对于Controls属性的描述,大概意思是只能通过数字下标来索引这个集合中包含的控件,我有些疑惑,因为隐隐约约有点印象,曾经在某处看到通过控件名作下标的例子,然而也很难想象书中会犯这种低级性的错误,一直都不觉得自己会迷信书,只是真要质疑,到底还是有些底气不足吧。 当然,最简单的对质,翻一下MSDN就是了,ControlCollection有两个索引器,一个整数类型的,从1.0开始支持,另一个是字符串类型的,从2.0开始支持。这本书是针对2.0的,只不过在这个问题上,作者大概只是简单地根据1.0的经验来做出这样的描述。又或者,这本书是从1.0开始写的,到了2.... Read More
posted @ 2014-02-23 21:10 芥子-dancingbit Views(239) Comments(0) Diggs(0)
要使用嵌入的资源,需要经过以下几个步骤: 第一步,在项目中添加资源文件,虽然项目中本来就有跟窗体定义文件同名的资源文件,但你若是不顾警告,要将资源放在这个文件中的话,就要做好资源丢失的准备,所以我们还是需要把资源放到其他的资源文件中。 第二步,在资源文件中添加资源,注意资源都有命名。特别是在添加已有资源的时候,默认是该资源的原有文件名(数字开头的会加个下划线),可以按照自己的需要来重新命名,不必管复制到Resources子文件夹中的文件名,嵌入以后就是通过此处的命名来访问。 第三步,在代码中创建ResourceManager,我在这一步走了很多弯路: Resou... Read More
posted @ 2013-07-19 21:20 芥子-dancingbit Views(164) Comments(0) Diggs(0)
经常混CSDN,免不了碰上一些稀奇古怪的问题:http://topic.csdn.net/u/20100823/16/fcb0b431-eeb6-4ab1-9e05-aba2eb01fe46.html,从一个方法的外部访问方法内部的变量,看到标题的第一眼,我的第一个想法就是:不可能。然后,鉴于CSDN上经常有人提问时辞不达意(写完了我要说的话,回头看看,我自己也是同样的辞不达意),我还是决定打开看... Read More
posted @ 2010-08-24 22:52 芥子-dancingbit Views(239) Comments(0) Diggs(0)
这个保存和恢复指的不同的执行之间,如果想要程序在下一次运行的时候显示在本次运行的相同位置,那么就需要通过一个合适的方法将这些信息保存在合适的位置,虽然保存到文件也不错,不过注册表似乎更方便一点。  直接保存高度、宽度和位置很简单,只是,如果进行保存操作的时候,窗口处于最大化或最小化的状态,那么,下一次进行恢复的时候,可能就无法以正确的并且正常的尺寸显示了,这里还是需要使用两个Windows API... Read More
posted @ 2010-08-11 22:45 芥子-dancingbit Views(1348) Comments(0) Diggs(0)
毋庸否认,.Net对Windows的底层细节封装还是做得不错的,同时,我们也能在必要的情况下访问到这些细节。  句柄。用Windows API写过程序的人都知道,很多的函数都会需要一个句柄,句柄用于在Windows中唯一地标识某个对象(Windows对象,不是面向对象语言中的对象)。如果在.Net中需要使用某个暂时还不支持的特性的时候,一般是通过调用Windows API函数来完成的,而这些函数就... Read More
posted @ 2010-08-10 22:05 芥子-dancingbit Views(324) Comments(0) Diggs(0)
键盘事件有三个:KeyDown,KeyPress,KeyUp,分别发生于键按下,击键完成,键弹出三种情况,KeyDown和KeyUp属于低级一点的事件,KeyPress属于高级一点的事件,KeyPress产生时击键动作完成,但产生的字符尚未输入。有些特殊键会产生KeyDown和KeyUp事件,但不会产生KeyPress事件,这些键包括:功能键、光标键、Ctrl、Alt、Shift、CapsLock... Read More
posted @ 2010-08-09 17:39 芥子-dancingbit Views(389) Comments(0) Diggs(0)
首先看一段MSDN中对于Focus方法的说明:备注如果控件成功接收输入焦点,则 Focus 方法返回 true。在不显示有焦点的任何可视提示时,控件也可能有输入焦点。这种行为主要通过下面列出的不可选择控件或从它们派生的任何控件观察到。在下列所有条件都满足的情况下控件可被选中并可接收输入焦点:ControlStyles 的 Selectable 值设置为 true,它包含在另一个控件中,以及它的所有... Read More
posted @ 2010-08-08 21:50 芥子-dancingbit Views(1808) Comments(0) Diggs(0)
这段代码可以将一个字符串转换为对应的颜色: Read More
posted @ 2010-08-08 10:43 芥子-dancingbit Views(269) Comments(0) Diggs(0)
.net中,窗口显示之后,仍然可以设置它的FormBorderStyle,改变它的风格,而在Windows API中,却无法做到这一点,窗口显示之后就无法改变风格的。事实上,.net中是通过销毁再创建来实现这一点的,当然,这个过程中,需要严格地复制原来的窗口中所保存的数据。  要证实这一点也很简单,Handle属性可获取窗口的句柄,而句柄在Windows中是唯一的也是不断变化的,前后创建的窗口,虽... Read More
posted @ 2010-08-08 10:31 芥子-dancingbit Views(389) Comments(1) Diggs(0)