protected override void OnResize(EventArgs e)
{
Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
IntPtr hWnd = FindWindow("#NETCF_AGL_PARK_",
asm.GetModules()[0].FullyQualifiedName);
if (hWnd != IntPtr.Zero)
SetWindowText(hWnd, "#42");
base.OnResize (e);
}
'VB
Imports System.Runtime.InteropServices
Imports System.Reflection
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = String.Format("Form {0}", New Random().Next())
End Sub 'Form1_Load
<DllImport("CoreDll")> _
Public Shared Function FindWindow(ByVal lpClassName As String, _
ByVal lpWindowName As String) As IntPtr
End Function
<DllImport("CoreDll")> _
Public Shared Function SetWindowText(ByVal hWnd As IntPtr, _
ByVal lpString As String) As Integer
End Function
Protected Overrides Sub OnResize(ByVal e As EventArgs)
Dim asm As [Assembly] = System.Reflection.Assembly.GetExecutingAssembly()
Dim hWnd As IntPtr = FindWindow("#NETCF_AGL_PARK_", _
asm.GetModules()(0).FullyQualifiedName)
If hWnd.ToInt32() <> IntPtr.Zero.ToInt32() Then
SetWindowText(hWnd, "#42")
End If
MyBase.OnResize(e)
End Sub 'OnResize
5. 图形用户界面 (GUI): 通用
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