5.1. 怎样建立一个带有图形或支持多行的按钮?
建立一个带有图形或支持多行的按钮需要使用自定义控件。自定义控件能继承button的paint方法,以及其他任何需要的自定义数据。参考以下连接获得更多关于自定义控件的信息:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/customctrlscompactfx.asp
快速入门教程告诉你如何建立一个带图像的按钮:
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/picturebutton.aspx
5.2. TextBox.AcceptsReturn在.net精简框架下是怎样工作的?
虽然设置了AcceptsReturn为false,但它还是按true的方式来操作。你可以写一个继承TextBox的类,在KeyPress事件中实现对Enter的处理。
5.3. 当数据载入ComboBox的时候,为什么SelectedIndexChanged事件没有被触发?
这是一个已经知道的问题,将在以后的.net精简框架中发布。
5.4. Show和ShowDialog有什么不同?
ShowDialog会把一个窗体以 模式 方式显示,这是一种独占调用方式,知道窗体关闭才会返回。这个方法将返回一个DialogResult枚举,表示关闭的条件。
Show是一种非独占的调用方式,和显示一个控件一样,可以立刻返回,没有返回参数。显示一个控件意味着Visible属性被设置为true,直到Hide方法被调用,Visible方法才会变为false。
5.5. 为什么我不能建立右键菜单分离器?(separator)
这是一个已经知道的BUG,把右键菜单设置为分割线,将抛出NotSupportedException错误。这个问题是由于WinCE系统有个限制,不允许在已经加入右键菜单的菜单项设置为分隔符,并且菜单的父类是一个控件。在Visual Studio 2003种,设计器分割移动应用代码的方式和PC上的应用程序类似。这是导致此问题的原因。解决的方法是,把右键菜单单独放在InitilizeComponent方法外的地方。
5.6. 运行时把ImageList赋给ToolBar时,为什么图象不出现?
你可以在窗体载入的时候把ImageList分配给ToolBar,但重新应用图像在ToolBar上的顺序。在设置ToolBar的ImageList之前 设置ToolBar按钮的图像顺序是不被支持的。
5.7. 怎样把光标设置成等待状态?
这段代码可以把光标设置成等待光标:
//C#
Cursor.Current = Cursors.WaitCursor;
'VB
Cursor.Current = Cursors.WaitCursor
这段代码可以把光标设置为默认:
//C#
Cursor.Current = Cursors.Default;
'VB
Cursor.Current = Cursors.Default
5.8. 如何在菜单项中显示符号:&?
这项功能还不被.net精简框架支持。使用"&&"不会在菜单项的文字中显示"&"符号。
5.9. 如何制作基于.net精简框架的动画控件?
这篇文章将告诉你如何制作基于.net精简框架的动画控件:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/animationcontrol.asp
5.10. 如何在.net精简框架上制作自定义控件?
学习制作.net精简框架控件,提高您的技巧。(文章附带了自定义控件的示例代码):
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/customctrlscompactfx.asp
5.11. 如何制作基于.net精简框架的带图片的按钮?
这篇文章讨论了建立基于.net精简框架的带图片的按钮:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/ImageButton.asp
5.12. 如何使用.net精简框架下的MessageWindow类库?
学习如何使用.net精简框架 MessageWindow 类建立一个提示图标:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/messagewindow.asp
这篇快速入门实现了,当鼠标点击矩形自定义控件或点击Panel控件时,使用MessageWindow把消息发送给发送窗体:
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/messagewindow.aspx
5.13. 如何向DataGrid中添加行和列?
这篇快速入门教程解释了如何在运行时向DataGrid控件添加或删除行、列:
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/datagridadding.aspx
5.14. 如何实现DataGrid的编辑?
.net精简框架中的DataGrid控件提供了几乎.net框架中的DataGrid控件的所有功能。一个主要的区别是.net精简框架中的DataGrid不能在运行时编辑单元。这篇快速入门教程演示了如何通过程序实现编辑单元格的一种方法:
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/datagridediting.aspx
5.15. 怎样设置DataGrid的DataSource?
与.net框架的DataGrid的另一个区别是,.net精简框架的DataGrid不支持把DataSource设置为DataSet。
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/datagrid.aspx
5.16. 怎样对DataGrid的列排序?
与.net框架的DataGrid的另一个区别是,.net精简框架的DataGrid不支持在运行时按照列进行排序。
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/datagridsorting.aspx
5.17. 怎样对ListView中的内容排序?
.net精简框架不支持ListView.Sort方法,但任然可以排序。这篇快速入门教程定义了一个继承ArrayList.Sort的IComparable接口的方法:
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/listviewsort.aspx
5.18. 如何使用 输入板(SIP)控件?
这篇快速入门教程演示了在PocketPC上打开和关闭软输入板(SIP),以及当SIP显示时,tab控件大小也跟随变化:
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/inputpanel.aspx
多个窗体应该共享一个输入板对象。可以通过先在主窗体中建立SIP对象,然后把它传给子窗体或暴露SIP对象的一些方法、属性给其他需要使用SIP的窗体。
5.19. 如何自定义事件?
这篇快速入门教程描述了如何继承Button类、重载方法来事现双击事件。这个自定义事件会在按钮被双击时触发,两次点击的间隔时间是SystemInformation.DoubleClickTime 属性的值,以毫秒为单位。
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/btndclick.aspx